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

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

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


当前回答

在我的案例中,这个问题通过打开Window -> Organizer来解决,选择我的设备并在右侧的“供应”面板下删除旧的供应配置文件。旧的手机已经打上了一个红色的“x”符号,但iPhone仍在使用它。

除了这个配置文件之外,新的配置文件也出现了(使用相同的名称),在简单地重新启动应用程序后,它运行得很顺利。

其他回答

Brad Smith的解决方案适合我,但我还必须删除CODE_SIGN_IDENTITY字段才能使其工作。

在我的案例中,这个问题通过打开Window -> Organizer来解决,选择我的设备并在右侧的“供应”面板下删除旧的供应配置文件。旧的手机已经打上了一个红色的“x”符号,但iPhone仍在使用它。

除了这个配置文件之外,新的配置文件也出现了(使用相同的名称),在简单地重新启动应用程序后,它运行得很顺利。

我刚刚在Xcode 4中遇到了这个问题。为了解决这个问题, 您需要将所有正确的规定都放入调试和发布配置中。

我试图提交(通过存档)我的应用程序。所以我只是将调试条款改为“不要代码签名”,并将发布条款改为我的应用程序的appstore条款。

这修复了它,使我能够正常归档。希望这能有所帮助。

这里有一个更简单的解决方案,对我来说是有效的,它不需要手动编辑项目文件:

在Xcode中,在“Groups & Files”窗格中,展开“Targets”,双击应用的目标。这将打开目标的Info窗格。在“构建”部分中,检查“代码签名”部分中的任何旧配置文件,并将其替换为正确的配置文件。

注意,这不同于双击项目图标并从那里更改概要文件。非常神奇!)

Ori

不幸的是,这种方法并不适合我。但是这里有一个对我有用的修复(要让它工作,你需要一个Subversion上的工作项目文件):

我确实回滚到了项目文件的工作版本。由于无法使用Xcode进行还原(Xcode 4的源代码控制中的“还原”选项在哪里?)-我使用Tortoise,我的Windows机器和本教程(http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html)来回滚到旧的项目文件。

由于教程对我不起作用,我只是使用Tortoise将我的项目文件的工作修订保存到u盘,并将其移植到我的mac上。之后,我用旧的工作文件替换了新的损坏的项目文件,并进行了清理,它就像一个魔法!