试图重建一个昨天还在工作的应用程序。收到一条信息说一个档案过期了,所以我把它从iPod和iTunes中删除了。当我选择一个新的配置文件(一个在标识符*),我现在得到一个错误:
代码符号错误:无法找到配置文件(长字符串)。
我错过了什么?我浏览了相关问题,并没有看到这种情况。
试图重建一个昨天还在工作的应用程序。收到一条信息说一个档案过期了,所以我把它从iPod和iTunes中删除了。当我选择一个新的配置文件(一个在标识符*),我现在得到一个错误:
代码符号错误:无法找到配置文件(长字符串)。
我错过了什么?我浏览了相关问题,并没有看到这种情况。
当前回答
这里有一个更简单的解决方案,对我来说是有效的,它不需要手动编辑项目文件:
在Xcode中,在“Groups & Files”窗格中,展开“Targets”,双击应用的目标。这将打开目标的Info窗格。在“构建”部分中,检查“代码签名”部分中的任何旧配置文件,并将其替换为正确的配置文件。
注意,这不同于双击项目图标并从那里更改概要文件。非常神奇!)
Ori
其他回答
我刚刚在Xcode 4中遇到了这个问题。为了解决这个问题, 您需要将所有正确的规定都放入调试和发布配置中。
我试图提交(通过存档)我的应用程序。所以我只是将调试条款改为“不要代码签名”,并将发布条款改为我的应用程序的appstore条款。
这修复了它,使我能够正常归档。希望这能有所帮助。
我遇到了一些问题,因为我用一些新设备更新了AdHoc配置文件,以便在TestFlight上使用。假设这是因为Xcode在项目或目标的协同设计构建设置中对你的配置配置文件有旧的引用。我解决问题的方法是:
转到目标构建设置和项目构建设置,在代码签名下将所有配置文件更改为其他内容。 转到管理器中的设备/配置配置文件删除违规配置文件,然后单击右下角的刷新按钮。 回到目标和项目构建设置,将配置配置文件设置为适当的(希望是)新刷新的配置配置文件。
选择“任何iOS SDK”下的“协同设计”中空白的行,并选择正确的证书。
我同意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 5中,这是为我解决问题的方法:
在配置配置文件下,选择有问题的配置配置文件,然后在下拉菜单中选择有效的配置配置文件。