Xcode从哪里获取应用程序的标识符?

16

我感觉我的头快要爆炸了。 我已经花费一定时间开发我的应用程序,并最终得到了一台iPhone用于设备测试,现在我正试图在iPhone上运行我的应用程序,但却无法运行。我已经完成了所有必要的步骤,但是出现了一个错误: [BEROR]Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.MyProject' could not be found

我的配置文件被称为XXXXXXXXX.com.myname.*

在info.plist中,我将包标识符更改为com.myname.myapplication

我的项目名称是MyProject,因为我不能更改它,但我的目标和可执行文件名为myapplication

我已经检查了所有设置,但仍然找不到yourcompany这个地方

但仍然遇到这个错误

我应该去哪里寻求帮助?

谢谢


1
你能看一下项目的info.plist或者项目设置吗? - vodkhang
3个回答

23

Xcode会使用在目标的Info.plist文件中找到的bundle identifier进行代码签名。

选定哪个Info.plist文件实际上是一个构建设置(通常在目标中),并且通常由Xcode正确设置。如果您手动编辑了Info.plist的bundle identifier值为您的标识符,则Xcode应该使用此标识符,代码签名应该可以正常工作。

默认的Info.plist文件包含一个包含Xcode构建设置的bundle identifier,并在构建目标时处理为最终标识符。


好的,我在项目文件夹中找到了一个名为MyProject-info.plist的文件,其中包含错误的数据,我进行了更改,现在它可以正常工作了,但是我在xcode中看不到这个文件,在xcode中我有myapplication-info.plist,我认为这不对,我该怎么办?这个文件到底是做什么用的? - Burjua

12
尼古拉·鲁赫(Nikolai Ruhe)的答案是“如果您手动编辑了Info.plist文件中的包标识符值以使用您的标识符,则Xcode应该使用此标识符并且代码签名应该正常工作。”这是正确的。然而,如今(我不确定2010年9月的情况如何),xcode使用的默认捆绑标识符是${PRODUCT_NAME}变量的函数。这个变量在其他各种地方也被使用,例如捆绑名称、捆绑显示名称等等。因此,我建议改变${PRODUCT_NAME},这个改变将会传播到Info.plist的捆绑标识符等处。
如何更改${PRODUCT_NAME}?选择适当的目标,进入“构建设置”,展开“打包”选项,然后编辑“产品名称”的值。

这并不总是正确的。如果您发布了一个应用程序,但稍后更改了产品名称,则仍必须使用旧的捆绑标识符。在这种情况下,仅更改捆绑标识符是一个好主意。 - Scott Berrevoets

2

选择您的目标,进入摘要。将包标识符从com.yourcompany.MyProject更改为com.myname.myapplication。它应该可以工作!我一直这样使用它,每次都很好用。您也可以从info.plist文件中进行相同操作。


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