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

Posted

技术标签:

【中文标题】在 Xcode 8 beta 中为 iOS 10 贴纸包构建时出现问题【英文标题】:Getting issue when making build for iOS 10 sticker pack in Xcode 8 beta 【发布时间】:2016-09-07 08:03:01 【问题描述】:

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

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

【问题讨论】:

我也遇到了同样的问题 - 提交这些包比创建它们更难! 【参考方案1】:

2017 年 6 月 19 日编辑

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

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

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

    显示项目导航器并单击顶层,这将是您的应用/贴纸包名称。 在 Xcode 的 PROJECT 下的第 2 列中,单击您的应用名称,然后单击 Build Settings(第 3 列),并在 Code Signing Identity 下确保它们都是 iOS Developer。 在 Xcode 第 2 列的 TARGETS 下,单击您的应用名称,然后在 General(第 3 列)下: 签名:取消选中自动管理签名。 签名(调试):选择您通过开发者帐户设置的分发配置文件。这将有一个像 com.domain.AppName 这样的包标识符。 签名(发布):与调试相同。 现在单击第 3 列中的 Build Settings 并向下滚动到 Code Signing Identity。对于 Debug and Release,选择 iOS Developer,对于 Any iOS SDK,选择 iOS Distribution。确保您还在这里选择了您的开发团队。我还停留在第 3 步中使用的 Provisioning Profile 中。 这就是诀窍!单击第二列中的 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 具有不同的捆绑标识符,这意味着它们需要不同的配置文件。

【讨论】:

是的,这是真的。每个扩展都有自己的捆绑 ID,这意味着您还需要单独的 App Id。对于扩展,您需要一个通配符 ID,因为该产品是另一个应用程序的一部分。在这两种情况下,您都需要单独的配置文件。

以上是关于在 Xcode 8 beta 中为 iOS 10 贴纸包构建时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS 10 中的 VoIP 问题(Xcode 8 beta 3)

XCode 7 (Beta 3 & 4) 无法下载和安装 iOS 8.* 模拟器

可以在 xcode 5 中为 ios 8 设备调用 registerUserNotificationSettings

clipsToBounds 导致 UIImage 在 iOS10 和 XCode 8 中不显示

产品资讯 | mPaaS 10.1.68 适配 iOS 15

iPhone 升级到 iOS 8.4 后在 Xcode 7 beta2 中成为不合格设备