将构build加载到iTunes Connect时,无效的代码签名授权错误

我的iOS应用程序有一个键盘和一个应用程序组进行通信。

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

错误ITMS-90164:“无效的代码签名授权应用程序包签名中的权利与供应configuration文件中包含的权利不匹配根据供应configuration文件,该软件包包含一个不允许的键值:'MYTEAM .iphone.MAINAPP“作为”Payload / MAINAPP.app / PlugIns / Keyboard.appex / Keyboard“中的键”application-identifier“。

错误ITMS-90163:“无效的代码签名授权您的应用程序包签名中的权利与供应configuration文件中包含的权利不匹配,该软件包包含一个不包含在供应configuration文件中的密钥:'aps-environment'在“Payload / MAINAPP.app / PlugIns / Keyboard.appex / Keyboard”中。

错误ITMS-90046:“无效的代码签名权利,您的应用程序包的签名包含iOS不支持的代码签名权利,具体来说,在Payload / MAINAPP.app中的关键'application-identifier'的值为'MYTEAM.iphone.MAINAPP' /PlugIns/Keyboard.appex/Keyboard'不被支持,这个值应该是一个以你的TEAMID开头的string,后跟一个点“。”,后跟一个包标识符。

所以很显然,编译键盘的应用标识是错误的,而且它包含了冗余的关键aps-environment 。 我不明白为什么。 我三重检查了Xcode中的所有标识符,在会员中心提供configuration文件和应用ID。 一切都好。 我也删除了所有派生的数据,caching,重新启动Xcode几次,但没有帮助。

清理项目和删除〜/ Library / Developer / Xcode / DerivedData,然后重build为我做了诡计。

我正在使用命令行帮助创build一个.ipa文件。

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

仅指定一个configuration文件。 这是问题所在。

问题可以解决,如果一个指定应用程序和键盘的configuration文件( stackoverflow问题 )。 或者,您可以像使用Xcode一样简单地创build.ipa。

这可能会导致因为在生成设置“代码签名”释放模式已设置开发人员,这应该是分布。 在这里输入图像说明

你可以尝试的是
1 – 清理项目,删除所有您正在使用的自定义预编译的框架,以及生成构build。 希望它能解决你的问题。

在这里输入图像说明

2-在Entitlements.plist中添加指定正确的应用程序包ID的应用程序标识符。 然后在Build选项> iOS捆绑签名中包含plist