将构建加载到iTunes Connect

时间:2016-04-12 09:59:19

标签: ios xcode code-signing application-loader

我的iOS应用有一个键盘和一个应用组用于沟通。

当我尝试使用 Application Loader 上传构建时,出现以下错误:

  

错误ITMS-90164:“无效的代码签名权利。应用程序包签名中的权利与供应配置文件中包含的权利不匹配。根据供应配置文件,捆绑包含不允许的密钥值:'MYTEAM.iphone.MAINAPP'代表'Payload / MAINAPP.app / PlugIns / Keyboard.appex / Keyboard'中的关键'application-identifier'“

     

错误ITMS-90163:“无效的代码签名权利。您的应用包签名中的权利与配置文件中包含的权限不匹配。该捆绑包含一个未包含在配置文件中的密钥:'aps -environment'in'Meayload / MAINAPP.app / PlugIns / Keyboard.appex / Keyboard'。“

     

错误ITMS-90046:“无效的代码签名权利。您的应用程序包的签名包含iOS上不支持的代码签名权利。具体而言,值为'Payload /'中关键'application-identifier'的'MYTEAM.iphone.MAINAPP'不支持MAINAPP.app/PlugIns/Keyboard.appex/Keyboard'。此值应为以TEAMID开头的字符串,后跟点'。',后跟包标识符。“

因此,很明显,编译键盘的 application-identifier 是错误的,它还包含多余的 aps-environment 键。我不明白为什么。我在 membercenter 中对Xcode,配置文件和应用ID中的所有标识符进行了三重检查。一切都好。我还删除了所有派生数据,缓存,重启Xcode几次,但没有帮助。

4 个答案:

答案 0 :(得分:4)

清理项目并删除〜/ Library / Developer / Xcode / DerivedData,然后重建为我做了诀窍。

答案 1 :(得分:1)

我是在命令行的帮助下从存档创建.ipa文件:

xcodebuild -exportArchive -archivePath $’MyAppArchive.xcarchive’ -exportPath $”MyApp” -exportFormat ipa -exportProvisioningProfile Provisioning_Profile_Name

仅指定了一个配置文件。 这就是问题所在。

如果为app和键盘指定配置文件(stackoverflow question),问题就可以解决。或者你可以像我一样使用Xcode创建.ipa。

答案 2 :(得分:0)

这可能会导致因为在Build设置中“Code Signing”发布模式设置为Developer,这应该是Distribution。 enter image description here

答案 3 :(得分:-1)

你可以尝试的是什么
1-清除项目,删除所有正在使用的自定义预编译框架和Make the Build。希望它能解决你的问题。

enter image description here

2-添加application-identifier,在Entitlements.plist中指定正确的应用程序包ID。然后在构建选项>中包含plist。 iOS捆绑包签名