我正在创建我的第二个键盘扩展应用程序。我已经通过iTunes TestFlight进行了几个月的测试,没有任何问题。但做了两次修改后,它不再提交。我得到一个错误:“由于以下问题,无法定位或生成匹配的签名资产,并将其定位或生成。
“为”applications/spkapp.app/plugins/spk.appex“找到不匹配的设置配置文件”
所有有效的配置文件都不允许指定的权限:beta-reports-active,com.apple.security.application-groups“
我所做的两个更改是对Bundle显示名称和添加组权限。扩展和应用程序的“我的应用程序ID”都激活了组并设置为同一组。
我试过了
1)将包显示名称还原为以前的名称。
2)对所有配置文件进行几十次重建
3)从头开始创建新的配置文件。
4)在Xcode中刷新配置文件,甚至下载配置文件并手动安装新配置文件和删除旧配置文件。
5)清理/删除派生数据/重启Xcode/重启OSX
6)将其与使用组权限的发货键盘进行比较。从权限文件到项目设置到配置文件到应用程序ID设置,所有内容都匹配。
我认为这个问题显然是和小组有关的,因为这是新加入的。但我确实查看了技术问答QA1830,但它似乎没有帮助,因为我有一个存储配置文件,并且它正在工作,所以beta-reports-active标志似乎是一个虚假的错误。
还有其他建议吗?
该问题是由于添加组权利引起的。Xcode为您的键盘扩展创建了一个自定义的应用程序ID,其名称以“Xcode iOS应用程序ID”开头,后跟您的绑定ID。应用程序ID本身将作为应用程序ID(如com.canpyName.AppBundleId.ExtensionBundleId)作为应用程序/扩展的组合绑定ID。它的设置将与其他应用程序相匹配,包括应用程序组设置。
它还将为这个应用程序ID创建一个分发配置文件,您需要这个分发配置文件,以便在启用组的情况下提交到存储。分发配置文件将命名为“xc:com.companyName:AppBundleId.ExtensionBundleId”。如果当您提交到存储时没有安装这个,您将会得到一个错误,即您的插件没有一个正确的配置文件,具有上面描述的组权限。
注意:我可以提交的故事与组权利禁用,所以似乎只有当您有特定的权利启用。
在我的案例中,我不知道是Xcode忽略了创建分发配置文件,还是我在尝试清理时删除了它。为了解决这个问题,我为Xcode应用程序ID创建了自己的分发配置文件,并以相同的方式命名它,确保它安装在Xcode 6.1中(首选项:Apple ID view Details:refresh button)。现在我的键盘正确提交,组权限处于活动状态。