当我尝试存档以提交iOS应用时,我遇到了冲突的配置设置错误

van*_*gar 288 xcode ios

现在我正在尝试将产品>存档我的iOS应用程序提交.但是,我收到以下错误:

AppName具有冲突的配置设置.AppName会自动签名进行开发,但手动指定了冲突的代码签名标识iPhone Distribution.iPhone Developer在构建设置编辑器中设置代码签名标识值,或在项目编辑器中切换到手动签名

SDK"iOS 10.1"中的产品类型"应用"需要代码签名

即使那些我重试整个过程来重新创建iOS证书或配置文件的情况也不会改变.

我设置为iOS DistributionTARGETS > Code Signing Identity > Release > Any iOS SDK.当我在iOS Developer此更改设置,并将设置更改PROJECTS > Code Signing Identity > Release > Any iOS SDK为as时iOS Distribution,我已成功归档.我想知道是否有必要iOS Distribution在目标编辑器中设置.如果它是强制性的,请有人告诉我如何解决此错误.

我的XCode版本是8.1.

Eri*_*yer 827

我有同样的错误,但我已经选中了"自动管理签名".

解决方案是取消选中它,然后再次检查并重新选择团队.然后Xcode自行修复导致问题的任何问题.

  • 这是有效的愚蠢解决方案. (82认同)
  • 另一个"摇晃手柄"苹果解决方案大声笑 (62认同)
  • 谢谢!这对我有用,对于使用cordova生成ios平台的任何人来说,即使使用最新的cordova版本,我也会收到此错误.默认情况下已选中自动签名但未选择任何团队.只有当我取消选择管理签名和选择自动签名时,团队才能让这个工作正常.谢谢艾琳! (11认同)
  • 当我再次检查时,代码签名会自动设置 iOs Developer 但我需要将其设置为 iOs Distribution,当我再次通过上述相同的异常设置 iOs Distribution Xcode 时。 (3认同)
  • 这是正确的,但为了进一步澄清,以下是我的经历: - 您必须事先手动创建分发配置文件(通过 Apple 开发人员网站)。自动签名不会为您做到这一点。- 如果构建设置中的代码签名身份不知何故搞砸了:所有 4 个身份都必须设置为“iOS 开发人员”(即使是发布者)才能使自动签名工作 (2认同)

Led*_*ine 127

我遇到了同样的问题,我注意到如果你想发布你的iOs应用程序并在App Store上发布它根本不需要将"代码签名身份"作为发行版放入,只需将其保留为iOs开发者.

转到您的项目 - >构建设置 - >代码签名身份并将所有内容放到iOs开发人员.

在此输入图像描述

  • 谢谢你,你解决方案是非常好的工作. (4认同)
  • 是的,这可行。但是对于临时构建,我必须禁用自动签名,然后转到那里并设置“ iOS Distribution”。苹果为何以这种方式实施它?这根本没有意义 :( (3认同)

Cha*_*Ang 66

对于那些来自Ionic或Cordova的人,您可以尝试以下方法:

打开文件yourproject/platforms/ios/cordova/build-release.xcconfig并从中更改:

CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution
Run Code Online (Sandbox Code Playgroud)

进入这个:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
Run Code Online (Sandbox Code Playgroud)

并尝试ios cordova build ios --release再次运行以编译发布版本.

参考:https://forum.ionicframework.com/t/ios-build-release-error-is-automatically-signed-for-development-but-a-conflicting-code-signing-identity-iphone-distribution-has-被手动地指定/七分之一十万零六百三十三

  • 在尝试了所有其他答案之后,这是最终让它为我工作的那个.谢谢! (3认同)
  • 你也可以注释出这些线条; iPhone Developer设置在`build.xcconfig`中设置,这些行只是覆盖它. (3认同)
  • 我只是删除了这两行,让Xcode自动管理签名. (3认同)
  • 您可以使用cordova-custom-config插件通过config.xml中的以下行自动执行此操作:<custom-preference buildType ="release"name ="ios-XCBuildConfiguration-CODE_SIGN_IDENTITY"value ="iPhone Developer"xcconfigEnforce =" true"/> <custom-preference buildType ="release"name ="ios-XCBuildConfiguration-CODE_SIGN_IDENTITY [sdk = iphoneos*]"value ="iPhone Developer"xcconfigEnforce ="true"/> (3认同)
  • 该文件现在称为 **build-release.xcconfig**。你错过了一个 'c' 这是一个 bash 脚本:```` #!/usr/bin/env bash sed -i "" "s/iPhone Distribution/iPhone Developer/g"platforms/ios/cordova/ build-release.xcconfig exit 0; ```` (2认同)

mat*_*att 63

你过分思考这个问题.在Xcode 8中,该过程得到了极大的改进和极其简单.利用这一事实.

第一步:不要以任何方式,形状或形式尝试在构建设置中设置代码签名设置.不要靠近他们.你绝对会搞砸了.而是编辑目标并在"常规"窗格中执行所有工作.最佳方法:为自动代码签名做好准备 - 只需输入您的团队并选中复选框,如下所示:

在此输入图像描述

第二步:确保您拥有iOS分发标识(证书).您可以在Xcode首选项>帐户,查看详细信息下查看.此时,最好去会员中心,为自己的应用程序获取App Store移动设备,然后下载并安装它.

第三步:选择"通用iOS设备"作为目的地,然后选择"产品">"存档".该应用程序将被编译,存档已创建,您现在可以提交到App Store.

  • 有趣的是,我见过的所有部署教程都告诉您手动更改每个目标上的代码签名设置.我打开了自动管理功能,但我甚至没有意识到这一点. (2认同)

ate*_*kov 49

如果你得到这样的东西:

应用程序具有冲突的配置设置.应用程序已自动签名,但已手动指定配置文件"ID".在构建设置编辑器中将配置配置文件值设置为"自动",或者在项目编辑器中切换到手动签名.

然后确保Target Build Settings中有空的PROVISIONING_PROFILE选项:

在此输入图像描述

  • 我没有区分用户和系统构建配置文件...所以感谢您指出它是“PROVISIONING_PROFILE” (2认同)

Rei*_*avi 25

别忘了这样做,

选择项目 - >构建设置.搜索PROVISIONING_PROFILE并删除任何废话.

  • 我做到了这一点,同时取消选中并重新选中“常规”选项卡上的“自动管理签名”,然后重新选择团队。感谢Rein和Erin。(嘿,你的名字是字谜!) (4认同)

Geo*_*ang 22

如果你来自爱奥尼亚世界.当您处于"归档"阶段时,可能会收到"冲突代码签名"错误,如下所示:

...自动签名进行开发,但手动指定了冲突的代码签名标识iPhone Distribution.在构建设置编辑器中将代码签名标识值设置为"iPhone Developer",或在项目编辑器中切换到手动签名.SDK"iOS 10.x"中的产品类型"应用"需要代码签名

在这种情况下,请转到Build Settings /签名,代码签名身份,并选择iOS Developer,而不是Distribution.

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

  • 问题是每次构建都会重置......这会搞乱我们的自动构建.知道如何在非交互式脚本中更改此设置吗? (2认同)
  • 太棒了,这为我解决了问题。事后看来,在大量饮酒的情况下,这个解决方案非常有意义。 (2认同)

Pet*_*tru 18

对于来自Ionic或Cordova的用户,您可以尝试以下操作:之前断开ios设备与计算机的连接ios cordova build ios --release(似乎更改了用于xcode签名的目标设备).

  • 这是最愚蠢的答案,它完全有效.我讨厌我们与Xcode有关的所有变通方法,以使应用程序正常工作. (6认同)

cat*_*ore 15

转到构建设置,搜索代码签名标识,并为iOS Developer设置任何iOS SDK值:

在此输入图像描述

  • 是的,这正是错误消息所要求的.但是你能解释一下为什么使用"iOS Developer"发布版本会有什么意义吗? (4认同)

Gab*_*cal 14

唯一的解决方案为我工作:

  1. 关闭Xcode项目
  2. 使用查找器转到项目文件夹
  3. 右键单击.xcodeproj,然后选择“显示软件包内容”
  4. 右键单击project.pbxproj,打开“打开方式”,然后选择TextEdit
  5. 现在搜索错误消息中指定的您的配置文件instanceId。
  6. 删除所有找到的文本,并清理配置文件。
  7. 保存并关闭
  8. 开启Xcode
  9. 启用自动管理签名

请享用!希望它会有用!


Emr*_*ses 8

在我的例子中,我在Build Settings中设置了"automatic"选项.

在此输入图像描述


man*_*mar 7

请尝试以下任一操作

1.删​​除和添加ios平台并重建ios项目

ionic cordova platform rm ios
ionic cordova platform add ios
ionic cordova build ios --release
Run Code Online (Sandbox Code Playgroud)

2.更改Xcode构建设置

解决方案是取消选中它,然后再次检查并重新选择团队.然后Xcode自行修复导致问题的任何问题.

3.在平台中更改以下代码

这对我没有任何意义,因为我已经将项目设置为自动登录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
Run Code Online (Sandbox Code Playgroud)

至:

CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
Run Code Online (Sandbox Code Playgroud)


Tai*_* Le 7

对我来说,对和Code Signing Identity都要全部更改。iOS DeveloperDebugRelease

Code Signing StyleAutomatic

在此处输入图片说明


Ahm*_*Net 7

我长期挣扎,尝试了所有建议的解决方案。我没事

然后我发现了问题:“构建设置”选项卡的末尾有“ PROVISIONING_PROFILE”的“用户定义的设置”。我同时删除了Project和Target构建设置。然后,自动签名完美运行。

我希望这会帮助其他人。:)


Nag*_*aba 7

  1. 常规 -> 签约 -> 勾选自动管理签约并选择团队

  2. 构建设置 -> 签名 -> 代码签名标识 -> 全部设置为“IOS 开发人员”


M M*_*eza 7

这对我来说非常有效。

第1步:

选择项目目标--> 构建设置。搜索 PROVISIONING_PROFILE 并删除那里的任何废话。

第2步:

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

在此处输入图片说明


cod*_*man 6

查找.xcodeproj文件并用文本编辑器打开

在下面找到字段并使它们像这样

CODE_SIGN_IDENTITY =“ iPhone开发人员”; “” CODE_SIGN_IDENTITY [sdk = iphoneos *]“ =” iPhone开发人员“;

PROVISIONING_PROFILE =“”;

PROVISIONING_PROFILE_SPECIFIER =“”;


aqs*_*had 5

只有一件事对我有用。

打开项目 -> 选择您的目标 -> 转到构建设置 -> 搜索配置并删除选定的配置文件。