现在我正在尝试使用产品>存档我的iOS应用以提交。但是,我收到以下错误:
AppName具有冲突的配置设置。 AppName会自动签名进行开发,但手动指定了冲突的代码签名标识iPhone Distribution。在构建设置编辑器中将代码签名标识值设置为
iPhone Developer
,或者在项目编辑器中切换到手动签名。产品类型'应用程序'需要进行代码签名。在SDK' iOS 10.1'`
中
即使是那些我重试整个过程来重新创建iOS证书或配置文件的情况,情况也不会发生变化。
我在iOS Distribution
中设置为TARGETS > Code Signing Identity > Release > Any iOS SDK
。当我在此处将设置更改为iOS Developer
并将PROJECTS > Code Signing Identity > Release > Any iOS SDK
中的设置更改为iOS Distribution
时,我已成功归档。我想知道是否有必要在目标编辑器中设置为iOS Distribution
。如果它是强制性的,请有人告诉我如何解决此错误。
我的XCode版本是8.1。
答案 0 :(得分:745)
我遇到了同样的错误,但我已经选中了“自动管理签名”。
解决方案是取消选中它,然后再次检查并重新选择团队。然后Xcode自行修复导致问题的任何内容。
答案 1 :(得分:97)
我遇到了同样的问题,我注意到如果你想发布你的iOs应用程序并在App Store上发布它根本不需要将“代码签名身份”作为发布版,只需保持它作为iOs开发者。
转到您的项目 - >构建设置 - >代码签名身份并将所有内容都放在iOs开发人员身上。
答案 2 :(得分:62)
你过分思考这个问题。在Xcode 8中,这个过程得到了极大的改进和极其简单。利用这一事实。
第一步:不要以任何方式,形状或形式尝试在构建设置中设置代码签名设置。不要靠近他们。你绝对会搞砸了。而是编辑目标并在“常规”窗格中执行所有工作。最佳方法:为自动代码签名做好准备 - 只需进入您的团队并选中复选框,如下所示:
第二步:确保您拥有iOS分发标识(证书)。你可以在Xcode Preferences>下查看。帐户,查看详细信息。此时,最好去会员中心,为自己的应用程序获取App Store移动设备,并下载并安装。
第三步:选择"通用iOS设备"作为您的目的地,并选择产品>存档。该应用程序将被编译,存档已创建,您现在可以提交到App Store。
答案 3 :(得分:62)
对于那些来自Ionic或Cordova的人,您可以尝试以下方法:
打开文件yourproject/platforms/ios/cordova/build-release.xcconfig
并从中更改:
CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution
进入这个:
CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
并尝试再次运行ios cordova build ios --release
以编译发布版本。
答案 4 :(得分:31)
如果您收到这样的消息:
应用的配置设置冲突。 应用已自动签名,但已手动指定了配置文件“ ID”。在构建设置编辑器中将供应配置文件值设置为“自动”,或在项目编辑器中切换为手动签名。
然后确保,在目标 构建 设置中,您具有空的 PROVISIONING_PROFILE 选项>:
答案 5 :(得分:19)
如果你来自Ionic世界。当您处于“归档”阶段时,可能会收到“冲突代码签名”错误,如下所示:
...会自动签名进行开发,但代码冲突 签名身份iPhone分发已手动指定。组 代码签名标识值为构建中的“iPhone Developer” 设置编辑器,或切换到项目编辑器中的手动签名。 SDK'iOS中的产品类型“应用”需要代码签名 10.x的'
在这种情况下,请转到Build Settings /签名,代码签名身份,并选择iOS Developer,而不是分发。
再次转到菜单:产品/存档,然后问题将得到解决。
答案 6 :(得分:17)
别忘了这样做
选择项目->构建设置。搜索PROVISIONING_PROFILE并删除其中所有的废话。
答案 7 :(得分:15)
对于那些来自Ionic或Cordova的人,您可以尝试以下方法:
在ios cordova build ios --release
之前断开您的ios设备与计算机的连接(似乎更改了目标设备以进行xcode签名)。
答案 8 :(得分:15)
答案 9 :(得分:8)
答案 10 :(得分:8)
唯一适用于我的解决方案:
享受!希望它会有用!
答案 11 :(得分:6)
尝试以下任一方法
ionic cordova platform rm ios
ionic cordova platform add ios
ionic cordova build ios --release
解决方案是取消选中它,然后再次检查并重新选择团队。然后Xcode自行修复了导致问题的原因。
这对我来说没有任何意义,因为我已将项目设置为自动登录xcode。像您一样,选中和取消选中操作无效。但随后,我阅读了给出的最后一个文件路径并遵循它。文件路径为APP>平台> ios> Cordova> build-release.xconfig
在文件中,已为CODE_SIGN_IDENTITY明确设置了iPhone发行版。
更改:
CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution
收件人:
CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
答案 12 :(得分:5)
找到.xcodeproj文件并用文本编辑器打开
在下面找到字段并使它们像这样
CODE_SIGN_IDENTITY =“ iPhone开发人员”; “” CODE_SIGN_IDENTITY [sdk = iphoneos *]“ =” iPhone开发人员“;
PROVISIONING_PROFILE =“”;
PROVISIONING_PROFILE_SPECIFIER =“”;
答案 13 :(得分:4)
这对我来说非常合适。
第1步:
选择项目目标->构建设置。搜索PROVISIONING_PROFILE并删除其中所有的废话。
第2步:
取消选中“自动管理签名”,然后再次选中并重新选择团队。然后Xcode自行修复导致问题的任何原因。
答案 14 :(得分:2)
只有事情对我有用。
打开项目->选择目标->转到构建设置->搜索提供并删除所选的配置文件。
答案 15 :(得分:2)
使用Xcode 10:这里没有其他解决方案对我有用。
我必须还原到Xcode 9才能解决此问题,然后又更新回Xcode 10,以便可以在非仿真器设备上的iOS 12上运行我的应用程序。
在Xcode 10中使用的在Stack Overflow或其他地方找到的任何其他解决方案,都使我陷入了无休止的供应冲突或签名证书问题的循环。无论您是使用自动方法还是手动选择配置文件和证书,Xcode 10中的签名似乎都被破坏了。
您可以通过首先从“应用程序”文件夹中删除Xcode 10来还原到Xcode 9。然后,使用this Apple Developers page上列出的.xip文件安装Xcode 9。
在Xcode 9中,使用自动构建选项。您可能需要取消选中“自动管理签名”并重新选择它,还可能需要撤消位于developer.apple.com的现有证书。
使应用程序成功在Xcode 9中构建后,可以使用App Store更新回Xcode 10。在Xcode 10中重新打开应用程序后,一切仍然正常。您可能不需要执行此操作,但是为了构建需要Xcode 10的iOS 12,我需要这样做。
答案 16 :(得分:2)
我有同样的问题 通过在共享扩展的构建设置中搜索“供应配置文件”来修复我的问题
然后在那里有两个“ Provisioning Profile”字段,一个为常规字段,一个为不推荐字段。常规的是自动的,但不推荐使用的不是自动的。将其更改为“自动”也解决了我的错误。
答案 17 :(得分:2)
在我的情况下,我必须登录Apple Developer Website并重置设备列表。
现在,他们现在要求您在续订订阅时每年都这样做,然后才能添加新设备并生成证书。
答案 18 :(得分:1)
答案 19 :(得分:1)
我很努力,尝试了所有建议的解决方案。什么都不适合我。
然后我发现了问题:“构建设置”选项卡的末尾有“ PROVISIONING_PROFILE”的“用户定义的设置”。我同时删除了Project和Target构建设置。然后自动签名可以完美地工作。
我希望这会对其他人有所帮助。 :)
答案 20 :(得分:1)
常规->签名->检查自动管理签名并选择团队
构建设置->签名->代码签名身份->全部设置为“ IOS开发人员”
答案 21 :(得分:0)
对我来说,当我手动安装Firebase SDK时,我已经将dump_syms
二进制文件和一堆脚本拖到了构建目标中。从我的目标和项目中删除这些问题即可解决问题。
答案 22 :(得分:0)
将您的代码登录更改为销售凭证。
答案 23 :(得分:0)
对我来说,我需要从自动切换到手动,然后切换到自动,同样的错误。切换到手动,然后更改那些配置文件和代码签名设置,生成并获取错误,然后再切换回自动,那就成功了。
答案 24 :(得分:0)
请确保构建设置名称中的“产品捆绑包标识符”与实际的捆绑包标识符匹配。这对我有用。
答案 25 :(得分:0)
我有同样的问题。我意识到这是因为我在使用xcode时正在使用它。由于更新未正确安装,因此导致出现这些错误。修复该问题的唯一方法是退出xcode并重新打开它。当我重新打开它时,它提示我安装更新。安装更新后,错误消失了。
答案 26 :(得分:0)
我在文本编辑器“ Atom”中打开了项目文件,然后搜索了配置文件ID并将其删除。
答案 27 :(得分:0)
答案 28 :(得分:0)
问题出在科尔多瓦设置中。
请注意:
iPhone Distribution has been manually specified
这对我来说没有任何意义,因为我已将项目设置为自动登录xcode。像您一样,选中和取消选中操作无效。但随后,我阅读了给出的最后一个文件路径并遵循它。文件路径为APP > Platforms > ios > Cordova > build-release.xconfig
在文件中,为CODE_SIGN_IDENTITY
明确设置了iPhone发行版。
更改:
CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution
收件人:
CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
这很简单,错误消息清楚地表明已手动指定了iPhone发行版,但除非您遵循该路径,否则它不会真正说出位置。我看了一下xcode弄了三个小时,试图弄清楚这一点。希望这对以后的任何人有帮助。
答案 29 :(得分:0)
更新到Xcode 8.3.2后,我在Cordova项目中遇到了同样的错误。我需要升级Cordova(v7.0.0)和iOS平台(v4.4.0)才能使代码签名生效。
答案 30 :(得分:0)
另一个可能导致这种情况的原因是,如果您使用的是常见的branch-cordova-sdk
插件。
由于某种原因,该插件会覆盖运行ionic cordova build ios
时在build.json中正确设置的代码签名身份。
我将其追溯到/plugins/branch-cordova-sdk/src/scripts/ios/enableEntitlements.js文件中设置的身份
确保将调试和发行价都设置为“ iPhone Developer”,这将节省您在每次构建过程后都必须在XCodes Build Settings中手动修复的问题
const DEBUGCODESIGNIDENTITY = "iPhone Developer";
const RELEASECODESIGNIDENTITY = "iPhone Developer"; // NOT "iPhone Distribution"
在具有相同项目/插件的另一台机器上不会发生这种情况,因此不确定确切的根本原因,但可以共享,以防其他人吃了几个小时。
通过在项目文件夹中搜索“ iPhone Distribution”来找到它。进行相同的操作以识别可能会干扰您的其他任何插件/库。