现在我试图产品>存档我的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。


当前回答

使用Xcode 10:这里的其他解决方案都不适合我。

我不得不恢复到Xcode 9来解决这个问题,然后更新回Xcode 10,这样我就可以在非模拟器设备上的iOS 12上运行我的应用程序。

任何在Stack Overflow或其他地方找到的解决方案,在Xcode 10中使用,都让我陷入了供应冲突或签名证书问题的无尽循环。在Xcode 10中,无论你是使用自动方法还是手动选择配置文件和证书,签名似乎都被破坏了。

你可以通过先从应用程序文件夹中删除Xcode 10来恢复到Xcode 9。然后,使用苹果开发者页面上列出的。xip文件安装Xcode 9。

在Xcode 9中,使用自动构建选项。您可能必须取消选中“自动管理签名”并重新选择它,您还可能需要在developer.apple.com上撤销现有证书。

当你在Xcode 9中成功构建应用程序后,你可以使用app Store更新回Xcode 10。在Xcode 10中重新打开应用程序后,一切仍然正常。你可能不需要这样做,但我需要这样做,因为iOS 12需要Xcode 10。

其他回答

我为这个问题花了整整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.

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

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

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

在更新到Xcode 8.3.2之后,我在Cordova项目中遇到了同样的错误。我需要升级Cordova (v7.0.0)和iOS平台(v4.4.0)才能进行代码签名。

如果你来自爱奥尼亚世界。当你在“存档”阶段时,你可能会得到一个“冲突代码签名”错误,如下所示:

... 自动签名用于开发,但代码冲突 签名标识iPhone分发已手动指定。集 代码签名标识值在构建中为“iPhone Developer” 设置编辑器,或在项目编辑器中切换到手动签名。 代码签名是必需的产品类型'应用程序'在SDK 'iOS 10. x '

在这种情况下,请进入构建设置/签名下,代码签名身份,并选择iOS开发人员,而不是分发。

再次转到菜单:产品/存档,然后问题将得到解决。

对我来说唯一有效的解决方法是:

关闭Xcode项目 使用finder转到项目文件夹 右键单击。xcodeproj并选择“显示包内容” 右键单击项目。pbxproj打开“打开”,选择TextEdit 现在搜索在错误消息中指定的Provision Profile instanceId。 删除所有找到的文本,并清除Provisioning Profiles。 保存并关闭 打开Xcode 启用自动管理签名

享受吧!希望对大家有用!

使用Xcode 10:这里的其他解决方案都不适合我。

我不得不恢复到Xcode 9来解决这个问题,然后更新回Xcode 10,这样我就可以在非模拟器设备上的iOS 12上运行我的应用程序。

任何在Stack Overflow或其他地方找到的解决方案,在Xcode 10中使用,都让我陷入了供应冲突或签名证书问题的无尽循环。在Xcode 10中,无论你是使用自动方法还是手动选择配置文件和证书,签名似乎都被破坏了。

你可以通过先从应用程序文件夹中删除Xcode 10来恢复到Xcode 9。然后,使用苹果开发者页面上列出的。xip文件安装Xcode 9。

在Xcode 9中,使用自动构建选项。您可能必须取消选中“自动管理签名”并重新选择它,您还可能需要在developer.apple.com上撤销现有证书。

当你在Xcode 9中成功构建应用程序后,你可以使用app Store更新回Xcode 10。在Xcode 10中重新打开应用程序后,一切仍然正常。你可能不需要这样做,但我需要这样做,因为iOS 12需要Xcode 10。