试图重建一个昨天还在工作的应用程序。收到一条信息说一个档案过期了,所以我把它从iPod和iTunes中删除了。当我选择一个新的配置文件(一个在标识符*),我现在得到一个错误:

代码符号错误:无法找到配置文件(长字符串)。

我错过了什么?我浏览了相关问题,并没有看到这种情况。


当前回答

只是看到了这个问题的一个变体:我进入了这个项目。根据Brad Smith上面的注释,pbxproj文件,除了在这种情况下,所有的PROVISIONING_PROFILE行似乎是正确的,没有出现Xcode找不到的“坏”配置文件字符串。

但是,修复方法是相同的:删除项目中的所有PROVISIONING_PROFILE行。pbxproj,尽管理论上看起来“不错”,然后在Xcode中重新打开项目。

其他回答

有时候你的Xcode项目文件会弄乱,特别是如果你有一个旧项目,并且第一次创建它是用旧版本的Xcode/iPhone SDK。

你需要做的是在文本编辑器中打开项目文件,从错误中搜索“长字符串”,并手动擦除该行。

事实上,您应该直接删除指向任何配置概要文件的任何行。然后在Xcode中重新打开项目,进入设置并重新选择你的新配置文件。这在大多数情况下都能解决类似的问题。

指向配置文件的行如下所示:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

至少在Xcode 5中,这是为我解决问题的方法:

在配置配置文件下,选择有问题的配置配置文件,然后在下拉菜单中选择有效的配置配置文件。

由于还没有人说过,我要提出一个建议:在你开始修改。xcodeproj文件的内容之前,请务必对它进行备份。搞砸项目文件并且没有备份将导致非常非常不愉快的体验。

能够取消编辑是天赐良机。

我同意Brad的回答,你可以通过手动编辑你的目标/项目来解决这个问题,删除像这样的任何行:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

然而,在Xcode 4.2及以后版本中,有一个更简单的方法来访问这个文本并选择和删除它。在左边的Project Navigator中,选择您的项目(Project Navigator的最上面一行)。现在只需选择查看>版本编辑器>显示版本编辑器。这将显示你的项目为文本,你可以搜索PROVISIONING并删除麻烦的行,就在Xcode的编辑器窗格中。

您可以删除配置文件的旧引用。然后在导入新的配置文件和选择Xcode构建器。