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

I get conflicting provisioning settings error when I try to archive to submit an iOS app

现在我正在尝试产品>存档iOS应用程序以提交。但是,我发现以下错误:

AppName has conflicting provisioning settings. AppName is automatically signed for development, but a conflicting code signing identity iPhone Distribution has been manually specified. Set the code signing identity value to iPhone Developer in the build settings editor, or switch to manual signing in the project editor.`

Code signing is required for product type 'Application' in SDK 'iOS 10.1'`

这种情况不会改变,即使是我重新创建iOS证书或配置配置文件的整个过程都会重试。

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

我的Xcode版本是8.1。


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

解决方案是取消选中它,然后再次选中它并重新选择团队。然后,Xcode自行修复了导致该问题的所有问题。


我也遇到了同样的问题,我注意到,如果你想发布你的iOS应用程序并将其发布到应用程序商店,你根本不需要将"代码签名标识"作为发布,只需将其作为iOS开发者保留。

转到您的项目->构建设置->代码签名标识,并将所有内容提交给iOS开发人员。

enter image description here


对于来自爱奥尼亚或科多瓦的用户,可以尝试以下方法:

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

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

进入这个:

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

并尝试再次运行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-been-manually-specified/100633/7


你想得太多了。Xcode8大大改进了这个过程,并且非常简单。利用这个事实。

第一步:不要以任何方式、形状或窗体尝试在生成设置中设置代码签名设置。别靠近他们。你一定会把事情搞砸的。相反,编辑目标并在常规窗格中完成所有工作。最佳方法:为自己设置自动代码签名-只需输入您的团队并选中复选框,如下所示:

enter image description here

第二步:确保您拥有iOS分发标识(证书)。您可以在xcode首选项>帐户,查看详细信息下进行检查。现在去会员中心为你自己准备一个应用商店的移动设备,下载并安装它也是一个好主意。

第三步:选择"通用iOS设备"作为目标,然后选择产品>存档。将编译应用程序,创建存档,现在您可以提交到应用程序商店了。


如果你得到这样的东西:

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

然后确保在目标生成设置中有空的配置文件选项:

enter image description here


如果你来自离子世界。在"存档"阶段,可能会出现"冲突代码签名"错误,如下所示:

... is automatically signed for development, but a conflicting code
signing identity iPhone Distribution has been manually specified. Set
the code signing identity value to"iPhone Developer" in the build
settings editor, or switch to manual signing in the project editor.
Code signing is required for product type 'Application' in SDK 'iOS
10.x'

在这种情况下,请转到"签名、代码签名标识"下的"生成设置",并选择两者作为iOS开发人员,而不是分发人员。

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


对于来自爱奥尼亚或科多瓦的用户,可以尝试以下方法:在ios cordova build ios --release之前断开iOS设备与计算机的连接(似乎会更改Xcode签名的目标设备)。


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

enter image description here


别忘了这么做,

选择项目——>生成设置。搜索配置文件并删除任何无意义的内容。


在我的例子中,我在构建设置中设置了"自动"选项。

enter image description here


唯一有效的解决方案是:

  • 关闭Xcode项目
  • 使用查找工具转到项目文件夹
  • 右键单击.xcodeproj并选择"显示包内容"
  • 右键单击project.pbxproj,继续"打开方式"并选择文本编辑。
  • 现在搜索在错误消息中指定的设置配置文件实例ID。
  • 删除所有找到的文本并清除配置文件。
  • 保存并关闭
  • 打开XCODE
  • 启用自动管理签名
  • 享受!希望它会有用!


    尝试下列任一操作

    1.移除和添加iOS平台,重建iOS项目

    1
    2
    3
    ionic cordova platform rm ios
    ionic cordova platform add ios
    ionic cordova build ios --release

    2.更改xcode构建设置

    解决方案是取消选中它,然后再次选中它并重新选择团队。然后,Xcode自行修复了导致该问题的所有问题。

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

    这对我没有任何意义,因为我已经将项目设置为在Xcode中自动登录。像你一样,选中和取消选中都不起作用。但随后我读取了给出的最后一个文件路径并遵循它。文件路径是app>platforms>ios>cordova>build-release.xconfig

    在文件中,iphone的发行版是为code_sign_标识显式设置的。

    变化:

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

    到:

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


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

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

    code_sign_identity="iPhone开发者";"code_sign_identity[sdk=iphoneos*]"="iPhone开发者";

    正在设置配置文件";

    provisioning_profile_specifier=";


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

    This error appears to be something you can't fix in Xcode 10

    我必须恢复到xcode 9来解决这个问题,然后更新回xcode 10,这样我就可以在iOS 12上的非仿真器设备上运行我的应用程序。

    在堆栈溢出或其他地方发现的任何其他解决方案(在Xcode10中使用)都会使我进入一个无休止的供应冲突或签名证书问题的循环。无论您是使用自动方法还是手动选择配置文件和证书,Xcode10中的签名似乎都已中断。

    您可以通过首先从应用程序文件夹中删除Xcode10来恢复到Xcode9。然后,使用此Apple开发者页面上列出的.xip文件安装Xcode9。

    在Xcode9中,使用自动构建选项。您可能需要取消选中"自动管理签名"并重新选择它,并且可能还需要在developer.apple.com上吊销现有证书。

    在Xcode9中成功构建应用程序后,可以使用应用程序商店将其更新回Xcode10。在Xcode10中重新打开应用程序后,一切仍然正常。您可能不需要这样做,但我需要这样做,以便为iOS 12构建它需要Xcode10。


    在我的例子中,我必须登录到苹果开发者网站,重新设置设备列表。

    似乎他们现在要求您在每年续订订阅时执行此操作,然后才能添加新设备和生成证书。


    我也有同样的问题通过在共享扩展的构建设置中搜索"配置文件",修复了我的

    然后有两个"配置文件"字段,一个是常规字段,一个是不推荐使用的字段。常规的是自动的,但不推荐的不是。把那个换成自动的太修正了我的错误。


    对于我来说,将Code Signing Identity改为所有iOS Developer,用于DebugRelease

    Code Signing StyleAutomatic

    enter image description here


    我挣扎了很久,我尝试了所有的解决方案。对我来说没什么用。

    然后我发现了这个问题:在构建设置选项卡的末尾有一个"用户定义的设置"用于"配置文件"。我为项目和目标生成设置删除了它。然后自动签名工作得很好。

    我希望这能帮助别人。:)


    在更新到xcode 8.3.2之后,我在一个cordova项目中遇到了同样的错误。我需要升级cordova(v7.0.0)和ios平台(v4.4.0),代码签名才能工作。


    您需要添加一个生产证书并(或)从开发帐户下载一个。

    enter image description here


    将您的代码登录更改为分配证书。


    对我来说,我需要从自动切换到手动,然后切换到自动,同样的错误。切换到手动,更改这些配置文件和代码签名设置,生成并获取错误,然后切换回自动,然后就成功了。


    我在文本编辑器"atom"中打开了项目文件,然后搜索了配置配置文件ID并将其删除。


    对于我来说,当我手动安装FireBase SDK时,我已经将dump_syms二进制文件和大量脚本拖到了构建目标中。从我的目标和项目中删除这些解决了这个问题。


    我也有同样的问题。我意识到这是因为我在使用Xcode时使用了Xcode。由于更新安装不正确,导致出现这些错误。唯一修复它的方法是退出Xcode并重新打开它。当我重新打开它时,它提示我安装更新。安装了更新之后,错误就消失了。


    请确保生成设置名称中的"产品包标识符"与实际的包标识符匹配。这对我有效。