现在我试图产品>存档我的iOS应用程序提交。然而,我得到以下错误:

AppName配置设置冲突。AppName是为开发自动签名的,但是手动指定了一个冲突的代码签名标识iPhone Distribution。在构建设置编辑器中将代码签名标识值设置为iPhone Developer,或在项目编辑器中切换到手动签名。 在SDK“iOS 10.1”中,产品类型“应用程序”需要代码签名

即使我重新尝试了整个过程来重新创建iOS证书或配置配置文件,情况也不会改变。

我在TARGETS中设置为iOS分发> Code Signing Identity > Release >任何iOS SDK。当我在这里作为iOS开发人员更改设置,并在PROJECTS > Code Signing Identity > Release > Any iOS SDK作为iOS Distribution时,我已成功归档。我想知道是否有必要在目标编辑器中设置为iOS Distribution。如果这是强制性的,请有人告诉我如何解决这个错误。

我的XCode版本是8.1。


当前回答

我在文本编辑器“Atom”中打开项目文件,然后搜索配置文件id并删除它。

其他回答

请确保构建设置名称中的“产品包标识符”与实际的包标识符匹配。这对我很管用。

就我而言,我必须登录苹果开发者网站并重置设备列表。

现在看来,他们要求你每年续订时都这样做,然后才能添加新设备和生成证书。

这对我来说非常有效。

步骤1:

选择项目目标—>构建设置。搜索PROVISIONING_PROFILE并删除任何无意义的内容。

步骤2:

取消勾选“自动管理签名”,然后再次勾选并重新选择团队。然后Xcode自行修复导致问题的任何东西。

我为这个问题花了整整3个小时,经历了这么多的考验,好长时间都在用头撞墙。

我以前没有遇到过这个问题——我的开发者证书允许我存档每个版本并提交到Appstore。回顾过去,我不知道这是如何实现的,因为我从未使用过分布配置文件。

如果你正在看这个答案,我假设你不仅想开发和存档,还想提交到Appstore。

在我们开始之前,有几件事。

Firstly, make sure to download all the correct certificates onto keychain on your mac, this includes both the Developer and Distribution certificates, which can be found at https://developer.apple.com/account/resources/certificates. If you have been transferred a project from someone else. You will need to create a new certificate specific to that project identifier. Secondly, make sure to have downloaded your provisioning profiles for Development and Distribution for the this specific project - this can done in the 'Profiles' tab on the same page where the certificates are downloaded. Thirdly, make your way to (~\Library\MobileDevice\Provisioning Profiles) and delete all the files inside this folder. As well as going to (~\Library\Developer\Xcode\DerivedData) and deleting all the files in there.

转到项目的主编辑器->项目目标->签名和能力-你应该看到这个屏幕:签名和能力屏幕

一旦您到达这个屏幕,选择调试选项卡,取消勾选“自动管理签名”,并选择开发概要文件。对发布选项卡执行同样的操作,并选择分发概要文件而不是开发概要文件。

这样可以确保将来的任何版本都有正确的配置文件分配给项目。

问题出在Cordova设置上。

注意:

iPhone Distribution has been manually specified

这对我来说没有任何意义,因为我已经在xcode中将项目设置为自动签名。和你一样,勾选和取消勾选也没用。但随后我读取了最后给出的文件路径并遵循它。文件路径:APP > Platforms > ios > Cordova > build-release.xconfig

在文件中,iPhone Distribution被显式地设置为CODE_SIGN_IDENTITY。

变化:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

To:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer

这是一件简单的事情,错误消息确实清楚地表明iPhone Distribution已手动指定,但它并没有真正说明位置,除非您遵循路径。我花了大约3个小时摆弄xcode,试图弄清楚这个问题。希望这能在将来对大家有所帮助。