CodeSign错误:产品类型'应用扩展程序需要代码签名'在SDK' iOS 8.0'

时间:2014-09-24 07:31:08

标签: ios8 provisioning-profile ios-app-extension bundle-identifier

“我要上传包含App Extension的应用程序的二进制文件,但它会出错

  

包含应用程序的标识符与扩展应用程序不匹配。    CodeSign错误:产品类型需要代码签名&#39; AppExtension&#39;在SDK&#39; iOS 8.0&#39;    供应配置文件与软件包标识符不匹配:构建设置(“配置文件名称”)中指定的供应配置文件的AppID为“com.CompanyName.AppName”,与您的软件包标识符“com.CompanyName.AppName.ExtensionName”<不匹配< / p>

如果我们使用相同的Bundle Identifier,那么它在二进制上传期间会出错。

     “The app extension is not signed with the valid Provisioning certificate”
    Embedded binary is not signed with the same certificate as the parent app. 
Verify the embedded binary target's code sign settings match the parent app's.

任何建议都将不胜感激。谢谢

2 个答案:

答案 0 :(得分:9)

每个扩展程序都是一个单独的目标,就像主机应用程序一样。例如,如果您有3个扩展名,则需要4个包ID,每个包括主机应用程序,每个包含4个配置文件。

每个目标都有自己的配置集,因此如果主机应用和扩展都支持CloudKit,则需要为每个应用ID启用CloudKit。

只需将它们视为单独的应用即可。

答案 1 :(得分:2)

我已经通过为每个Container应用和App扩展创建单独的捆绑ID和分发配置文件来解决它。您应该分配主容器应用ID以在商店上创建应用。