2017 年 6 月 19 日编辑
下面的方法不再起作用。现在起作用的是将下面的第 5 步更改为:
- 为贴纸扩展创建单独的应用程序 ID 和配置文件。对于应用程序 ID,请使用通配符版本(例如 com.domain.appName.*)。然后将此应用程序 ID 用于新的分发配置文件。两个配置文件使用的证书必须相同。
好的,我尝试了 10 次,但我成功了。问题是多个地点有多个设置。我无法让自动签名工作,所以去了手动路线。最后,这是对我有用的组合:
- 显示项目导航器并单击顶层,这将是您的应用程序/贴纸包名称。
- 在 PROJECT 下 Xcode 的第 2 列中,单击您的应用名称,然后单击 Build Settings(第 3 列),并在 Code Signing Identity 下确保它们都是 iOS Developer。
- 在 TARGETS 下 Xcode 的第 2 列中,单击您的应用名称,然后在 General(第 3 列)下:
- 签名:取消选中自动管理签名。
- 签名(调试):选择您通过开发者帐户设置的分发配置文件。这将有一个像 com.domain.AppName 这样的包标识符。
- 签名(发布):与调试相同。
- 现在单击第 3 列中的 Build Settings 并向下滚动到 Code Signing Identity。对于 Debug and Release,选择 iOS Developer,对于 Any iOS SDK,选择 iOS Distribution。确保您还在这里选择了您的开发团队。我还停留在第 3 步中使用的配置文件中。
- 这就是诀窍!单击第二列中的 StickerPackExtension。在第 3 列的 General 下,请注意它具有与主“app”不同的包标识符。它将类似于 com.domain.AppName.StickerPackExtension。
- 签名:取消选中自动管理签名。
- 签名(调试):选择 XC iOS:*
- 签名(发布):与调试相同。
- 单击构建设置并向下滚动到代码签名身份(再次!)。这次为 Debug and Release 选择 iPhone Distribution:YourTeamName 并为 Any iOS SDK 选择 iPhone Distribution。对于 Provisioning Profile 选择 XC iOS:*
我认为问题是由于“应用程序”和 StickerPackExtension 具有不同的捆绑标识符,这意味着它们需要不同的配置文件。