现在我试图产品>存档我的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 8.3.2之后,我在Cordova项目中遇到了同样的错误。我需要升级Cordova (v7.0.0)和iOS平台(v4.4.0)才能进行代码签名。

其他回答

将代码登录更改为分发证书。

另一个cordova/ionic可能的原因是,如果你使用的是通用的branch-cordova-sdk插件。

由于某种原因,插件覆盖了在构建中正确设置的代码签名标识。Json时运行ionic cordova构建ios。

我追踪到/plugins/branch-cordova-sdk/src/scripts/ios/ enableentitled .js文件中设置的身份

确保调试和发布值都设置为“iPhone Developer”,这将节省你在每次构建过程后在XCodes构建设置中手动修复的时间

  const DEBUGCODESIGNIDENTITY = "iPhone Developer";
  const RELEASECODESIGNIDENTITY = "iPhone Developer"; // NOT "iPhone Distribution"

这不会发生在不同的机器上,有相同的项目/插件,所以不确定确切的根本原因,但分享以防它帮助其他人,因为这花了几个小时。

它是通过在项目文件夹中搜索“iPhone Distribution”的出现情况找到的。用同样的方法来识别其他可能会干扰你的插件/库。

我为这个问题花了整整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中得到了极大的改进,并且非常简单。好好利用这一点吧。

第一步:不要以任何形式尝试在“生成设置”中设置“代码签名”设置。不要靠近他们。你绝对会把事情搞砸的。相反,编辑目标并在General窗格中完成所有工作。最佳方法:设置自己的自动代码签名-只需输入您的团队并选中复选框,就像这样:

第二步:确保你有一个iOS分发身份(证书)。你可以在Xcode Preferences > Accounts中查看详细信息。这时候你最好去会员中心为你自己的应用商店买一个手机版,然后下载并安装。

第三步:选择“通用iOS设备”作为您的目的地,并选择产品>存档。应用程序将被编译,存档被创建,现在你已经准备好提交到应用程序商店。

我有同样的错误,但我已经选择了“自动管理签名”。

解决方案是取消检查,然后再次检查并重新选择团队。然后Xcode自己修复了导致问题的任何东西。