Xcode预配资料的Apple ID与Bundle标识符不匹配。

21
我遇到一个错误:“没有匹配的配置文件”,其中显示Apple ID 必须与bundle标识符相同。问题是它们确实相同,但是当我创建项目时,它会在bundle标识符末尾添加“Tests”。例如,AppID是“com.company.app”。我使用产品名称“app”和组织标识符“com.company”创建项目,然后Bundle标识符设置为“com.company.app”。当我尝试在设备上运行它时,它会说AppID是“com.company.app”,但Bundle标识符是“com.company.appTests”。

2
它并没有说“Apple ID 必须与 Bundle Identifier 相同” - 这毫无意义。你实际收到的错误信息是什么? - Stefan Arentz
您的构建设置中指定的预配描述文件(“APP.ADHOC”)具有应用程序标识符“com.companyexample.app”,但与您的包标识符“com.companyexample.appTests”不匹配。 Xcode可以通过从会员中心下载新的预配描述文件来解决这个问题。 - Nelson Matias
请查看此答案:https://dev59.com/hnI-5IYBdhLWcg3wn525#1760738。希望能对您有所帮助。 - vivek takrani
“Tests”的代码签名为“无需”,因此只需将其Debug的“Provisioning Profile”设置为自动,并将其“Code signing Identity”设置为“iOS Developer”,这实际上意味着没有代码签名。 - DawnSong
3个回答

12

请确保您的代码签名标识符对于appTests目标是正确的。

当测试目标的代码签名设置为错误的配置文件时,通常会出现此问题。尝试将其设置为正确的配置文件或尝试使用Dont Code Sign

输入图像描述

输入图像描述


我成功地将其设置为“iOS开发人员”,并将两个目标和项目的所有代码签名身份以及配置文件设置为“自动”,从而使其正常工作。但是我有几个问题,我倾向于不相信自动完成的事情。我为此应用程序创建了一个adhoc(ios分发)PP。当我设置该PP(而不是自动),代码签名身份会更改为iPhone Developer。这就是我得到的错误消息,我将其粘贴到了Stefan Arentz的评论中。 - Nelson Matias
除此之外,当我将签名身份更改为“iPhone Distribution name (prefix)”时,我收到了相同的错误。我这样做是因为我创建了一个adhoc(DISTRIBUTION)PP,而不是开发PP。对于所有问题,我很抱歉,因为我从未提交过应用程序,这并不总是最直接的过程。感谢您的帮助! :) - Nelson Matias
如果您想使用电缆直接将应用部署到设备上,则必须拥有开发配置文件。Adhoc /内部分发配置文件用于代码签名的发布部分,并且在将应用程序打包为.ipa格式时需要。因此,如果您正在进行adhoc开发,则需要为自己获取开发证书,然后为每个应用程序获取App ID以及每个应用程序的开发和分发配置文件。对于您的应用程序目标和测试目标的代码签名,它们都需要匹配。 - SpaceDust__
“不要进行代码签名”是正确的。我正在使用Xcode 8.1,你的答案对我有效。 - DawnSong
这对我有用,非常感谢!我浪费了一整天的时间只是试图构建我的项目。这些配置太过复杂了。 - sednanre

0

我通过卸载应用程序后重新启动手机来解决了这个问题。你可以试一试。


-1

进入xcode的Build部分,搜索Bundle Identifier并将其更改为您的应用程序ID,错误将被解决


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接