我尝试为我的iOS应用程序添加扩展,包括一个今天的扩展和一个Apple Watch应用程序。我的应用程序已完成,但在提交存档时,由于我的包标识符而出现错误。然后我删除了这些扩展,重新添加了它们,并尝试重新提交。然而,Xcode现在抱怨我的配置文件无法签名。
"标识符为'com.example.app.extension'的App ID不可用。请键入其他字符串."
我立即去会员中心查看是否存在已经存在的App ID会阻止我使用它来添加扩展。没有任何名称冲突,这对我来说很奇怪。如果新ID与旧ID没有冲突,我不应该能够创建新ID吗?我还删除了以前扩展的任何配送配置文件。尽管如此,我仍然无法添加"com.example.app.extention
"或"com.example.app.watchkitextension
"。
我决定只创建新的app IDs,遵循新的命名约定,如"com.example.app.extensions.watchkitextension
"或"com.example.app.extensions.todayextension
"。一切都运作正常,构建也没问题。我在设备上安装了应用程序,一切都很好。我的存档甚至得到了验证。然而,在提交时,我遇到了以下错误:
错误ITMS-90347: “错误的包标识符。应用程序扩展xxx.app/Plugins/xxxExtension.appex的包标识符“xxx.yyy.zzz”应该以应用程序的包标识符“xxx”开头,并且不应包含超过一个点号“.”。
这意味着我必须使用命名约定"com.example.app.extension"
,而Xcode和会员中心将不允许我创建正确的ID。
我非常沮丧,请有人帮帮我。我无法在任何地方找到解决方案。
编辑
看来我实际上根本不能使用那个标识符。
此外,我应该注意一些警告信息以供参考:
1)如果扩展名中包含句点,即com.domain.app.extensions.extension,那么在扩展名之前添加任何内容都不起作用。
2)自动化的Swift 2转换器往往会将标识符更改为更标准的名称,并尝试让Xcode解决配置文件的问题。请注意!
唯一的解决方法是永久更改标识符名称。我个人使用了com.domain.app.todayextension。然后我使其正常工作,但前提是通过成员中心安装并添加正确的开发和分发配置文件。这似乎是苹果系统中的一个错误,或者我们根本不知道配置文件如何工作。我认为后者可能是真实情况。无论如何,希望这可以帮助到你!