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


当前回答

我挣扎了很长时间,我尝试了所有提出的解决方案。对我来说什么都没用。

然后我发现了问题:在构建设置选项卡的末尾,有一个“用户定义设置”的“PROVISIONING_PROFILE”。我为项目和目标构建设置都删除了它。然后自动签名工作完美。

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

其他回答

我也遇到了同样的问题,我注意到如果你想要发行iOs应用并将其发布到app Store上,你根本不需要在发行时输入“代码签名身份”,只要保持iOs开发者身份即可。

转到你的项目->构建设置->代码签名身份,并把一切都放在iOs开发人员。

对于那些来自爱奥尼亚或科尔多瓦的人,你可以尝试以下: 在ios cordova构建ios—release之前,断开你的ios设备与计算机的连接(似乎改变了xcode签名的目标设备)。

>签名->检查自动管理签名和选择团队 Build settings -> Signing -> Code Signing Identity -> SET ALL TO "IOS developer"

别忘了做这个,

选择项目——>构建设置。搜索PROVISIONING_PROFILE并删除任何无意义的内容。

另一个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”的出现情况找到的。用同样的方法来识别其他可能会干扰你的插件/库。