iTunes Connect 提交代码签名权利错误 Xcode 8
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/39453669/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
iTunes Connect submission code signing entitlements error Xcode 8
提问by MikeB
I am having trouble submitting my newest app update with Xcode 8 GM. I updated my iPhone and watchOS app in this update.
我在使用 Xcode 8 GM 提交我的最新应用程序更新时遇到问题。我在此更新中更新了我的 iPhone 和 watchOS 应用程序。
When trying to submit I get the following error:
尝试提交时,出现以下错误:
iTunes Store operation failed. Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, value 'QX3TDZXXXX.AppName' for key 'application-identifier' in 'Payload/AppName.app/AppName' is not supported. This value should be a string starting with your TEAMID, followed by a dot '.', followed by the bundle identifier.
iTunes Store 操作失败。无效的代码签名权利。您的应用程序包的签名包含 iOS 不支持的代码签名权利。具体来说,不支持“Payload/AppName.app/AppName”中键“application-identifier”的值“QX3TDZXXXX.AppName”。该值应该是一个以您的 TEAMID 开头的字符串,后跟一个点“.”,后跟包标识符。
I set signing to automatic by checking "Automatically manage signing" in Xcode. Everything looks fine to me.
我通过在 Xcode 中选中“自动管理签名”将签名设置为自动。我觉得一切都很好。
After searching for a solution everywhere I tried to change the Code Signing Identity in Build Settings to iOS Distribution. That also gives me an error right away:
在到处搜索解决方案后,我尝试将构建设置中的代码签名标识更改为 iOS 分发。这也立即给了我一个错误:
AppName has conflicting provisioning settings. AppName is automatically signed for development, but a conflicting code signing identity iPhone Distribution has been manually specified. Set the code signing identity value to "iPhone Developer" in the build settings editor, or switch to manual signing in the project editor. Code signing is required for product type 'Application' in SDK 'iOS 10.0'
AppName 具有冲突的配置设置。AppName 为开发自动签名,但手动指定了冲突的代码签名标识 iPhone Distribution。在构建设置编辑器中将代码签名标识值设置为“iPhone Developer”,或者在项目编辑器中切换到手动签名。SDK“iOS 10.0”中的产品类型“应用程序”需要代码签名
I also:
我也:
- cleaned project
- restarted Xcode
- rebooted my Mac
- revoked my distribution certificate
- 清理项目
- 重新启动Xcode
- 重新启动了我的 Mac
- 吊销了我的发行证书
Did someone else have a similar problem and knows how to fix it?
其他人是否有类似的问题并知道如何解决?
Thanks in advance!
提前致谢!
采纳答案by MikeB
I wasted more than a whole day on this but I finally found the solution!
我为此浪费了一整天,但我终于找到了解决方案!
Somehow in my Build Settings, the "Product Bundle Identifier" was only my apps name instead of the unique Bundle Identifier (e.g. com.YX.AppName).
不知何故,在我的构建设置中,“产品包标识符”只是我的应用程序名称,而不是唯一的包标识符(例如 com.YX.AppName)。
Click on your project, choose your App, press Build Settings and search for "packaging". You should find it there.
单击您的项目,选择您的应用程序,按构建设置并搜索“打包”。你应该在那里找到它。
Found this by creating a brand new project and comparing every single setting.
通过创建一个全新的项目并比较每个设置来发现这一点。
In case this is not what is wrong in your project, these are the things I found on this topic before. Maybe one of these things might help you:
如果这不是您项目中的问题,这些是我之前在该主题上找到的内容。也许这些事情之一可能会帮助你:
- project > Alt + Clean (Cleans the whole Build Folder)
- restarted xcode (that helped many others!)
- revoked all Provisioning Profiles and let Xcode create new ones (Xcode > Preferences > Accounts > View Details > Create next to iOS Distribution)
- checked that all App ID names where right
- for com.AB.CDE the name has to be "com AB CDE"
- restarted PC
- checked that Xcode and macOS were the newest version
- 项目 > Alt + Clean(清理整个构建文件夹)
- 重新启动 xcode(帮助了许多其他人!)
- 撤销所有配置文件并让 Xcode 创建新的配置文件(Xcode > Preferences > Accounts > View Details > Create next to iOS Distribution)
- 检查所有 App ID 名称是否正确
- 对于 com.AB.CDE,名称必须是“com AB CDE”
- 重启电脑
- 检查 Xcode 和 macOS 是最新版本
回答by Witold
What helped me was:
对我有帮助的是:
I unchecked "Automatically manage signing" and then check it on again. After that Xcode told me it would reset the settings to the default and after that it finally worked.
我取消选中“自动管理签名”,然后再次选中。之后 Xcode 告诉我它会将设置重置为默认值,之后它终于可以工作了。
回答by Vlad
Try this solution:
试试这个解决方案:
- Create new "Provisioning profile" & import it.
- Restart XCode
- Uncheck "Automatically manage signing"
- In the drop downlist select new provisioning profile.
- Check "Automatically manage signing".
- 创建新的“配置文件”并导入它。
- 重启 XCode
- 取消选中“自动管理签名”
- 在下拉列表中选择新的配置文件。
- 勾选“自动管理签名”。
It should help you.
它应该可以帮助你。
回答by JanithaR
I had the same issue and none of the suggested workarounds here worked. I assumed it had to do something with how the XCode project is configured, so I tracked back and found out I was following this guide Building multiple versions of a React Native appand had missed the following step.
我遇到了同样的问题,这里建议的解决方法都没有奏效。我认为它必须对 XCode 项目的配置方式做一些事情,所以我回溯并发现我正在遵循本指南构建多个版本的 React Native 应用程序,但错过了以下步骤。
In the project's info.plist, change the value of Bundle Identifier to $(PRODUCT_BUNDLE_IDENTIFIER)$(BUNDLE_ID_SUFFIX)
在项目的 info.plist 中,将 Bundle Identifier 的值改为 $(PRODUCT_BUNDLE_IDENTIFIER)$(BUNDLE_ID_SUFFIX)
EDIT : Turns out that was not the actual problem. I had to enable Push Notifications in Capabilities since the App ID on the developer console had it turned on.
编辑:原来这不是实际问题。我必须在 Capabilities 中启用推送通知,因为开发人员控制台上的 App ID 已打开它。
回答by Liping Xiong
Had the same issue. I restarted my laptop, rebuilt the release build, restarted Xcode, rebuilt the archives. Then it worked.
有同样的问题。我重新启动了我的笔记本电脑,重建了发布版本,重新启动了 Xcode,重建了档案。然后它起作用了。

