在Xcode 8 beta中为iOS 10贴纸包构建时遇到问题

时间:2016-09-07 08:03:01

标签: xcode code-signing archive ios10 xcode8-beta6

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

enter image description here

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

1 个答案:

答案 0 :(得分:0)

2017年6月19日编辑

以下方法不再适用。现在有用的是将下面的第5步改为:

  1. 为贴纸扩展程序创建单独的应用程序ID和配置文件。对于app id,请使用通配符版本(例如com.domain.appName。*)。然后将此应用程序ID用于新的分发配置文件。两个配置文件使用的证书必须相同。
  2. 好吧,我花了10次尝试,但我把它解决了。问题是多个点有多个设置。我无法自动签名工作,所以走了手动路线。最后,这是对我有用的组合:

    1. 显示Project Navigator并单击顶级,这将是您的app /贴纸包名称。
    2. 在PROJECT下的Xcode的第二列中,单击您的应用程序名称,然后单击Build Settings(第3列),并在Code Signing Identity下确保它们都是iOS Developer。
    3. 在TARGETS下的Xcode的第二列中,点击您的应用名称,然后点击“常规”(第3列):
      • 签名:取消选中自动管理签名。
      • 签名(调试):选择您通过开发人员帐户设置的分发配置文件。这将有一个包标识符,如com.domain.AppName。
      • 签名(发布):与Debug相同。
    4. 现在点击第3列中的Build Settings,然后向下滚动到Code Signing Identity。对于Debug和Release,选择iOS Developer,对于Any iOS SDK,选择iOS Distribution。确保您也在此处选择您的开发团队。我也陷入了我在第3步中使用的配置文件。
    5. 这就是诀窍!单击第二列中的StickerPackExtension。在第3列的“常规”下,请注意它与主" app"具有不同的包标识符。它将类似于com.domain.AppName.StickerPackExtension。
      • 签名:取消选中自动管理签名。
      • 签名(调试):选择XC iOS:*
      • 签名(发布):与Debug相同。
    6. 单击Build Settings并向下滚动到Code Signing Identity(再次!)。这次调试和发布选择iPhone发行版:YourTeamName和任何iOS SDK选择iPhone发行版。对于Provisioning Profile,请选择XC iOS:*
    7. 我认为这个问题是由于" app"并且StickerPackExtension具有不同的Bundle Identifiers,这意味着它们需要不同的配置文件。