1

我正在开发 iOS 10 的新贴纸功能,为此我使用的是 Xcode 8 测试版,我拖放所有贴纸和应用程序图标,当我尝试存档应用程序时,Xcode 失败并出现以下错误:

在此处输入图像描述

因此,我一次又一次地检查了构建设置 - 代码签名,以确保嵌入式二进制文件使用与父应用程序相同的证书进行签名。

4

1 回答 1

0

2017 年 6 月 19 日编辑

下面的方法不再起作用。现在起作用的是将下面的第 5 步更改为:

  1. 为贴纸扩展创建单独的应用程序 ID 和配置文件。对于应用程序 ID,请使用通配符版本(例如 com.domain.appName.*)。然后将此应用程序 ID 用于新的分发配置文件。两个配置文件使用的证书必须相同。

好的,我尝试了 10 次,但我成功了。问题是多个地点有多个设置。我无法让自动签名工作,所以去了手动路线。最后,这是对我有用的组合:

  1. 显示项目导航器并单击顶层,这将是您的应用程序/贴纸包名称。
  2. 在 PROJECT 下 Xcode 的第 2 列中,单击您的应用名称,然后单击 Build Settings(第 3 列),并在 Code Signing Identity 下确保它们都是 iOS Developer。
  3. 在 TARGETS 下 Xcode 的第 2 列中,单击您的应用名称,然后在 General(第 3 列)下:
    • 签名:取消选中自动管理签名。
    • 签名(调试):选择您通过开发者帐户设置的分发配置文件。这将有一个像 com.domain.AppName 这样的包标识符。
    • 签名(发布):与调试相同。
  4. 现在单击第 3 列中的 Build Settings 并向下滚动到 Code Signing Identity。对于 Debug and Release,选择 iOS Developer,对于 Any iOS SDK,选择 iOS Distribution。确保您还在这里选择了您的开发团队。我还停留在第 3 步中使用的配置文件中。
  5. 这就是诀窍!单击第二列中的 StickerPackExtension。在第 3 列的 General 下,请注意它具有与主“app”不同的包标识符。它将类似于 com.domain.AppName.StickerPackExtension。
    • 签名:取消选中自动管理签名。
    • 签名(调试):选择 XC iOS:*
    • 签名(发布):与调试相同。
  6. 单击构建设置并向下滚动到代码签名身份(再次!)。这次为 Debug and Release 选择 iPhone Distribution:YourTeamName 并为 Any iOS SDK 选择 iPhone Distribution。对于 Provisioning Profile 选择 XC iOS:*

我认为问题是由于“应用程序”和 StickerPackExtension 具有不同的捆绑标识符,这意味着它们需要不同的配置文件。

于 2016-10-06T01:36:39.700 回答