Answers:
有时,您的xcode项目文件会混乱,特别是如果您有一个旧项目,并首先使用旧版本的xcode / iphone sdk创建了它。您需要做的是在文本编辑器中打开项目文件,从错误中搜索“长字符串”,然后手动删除该行。实际上,您应该只删除所有指向任何配置文件的行。然后在xcode中重新打开该项目,转到设置并重新选择新的配置文件。多数情况下,这可以解决类似的问题。指向供应配置文件的行将如下所示:
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
这是一个对我有用的更简单的解决方案,不需要手动编辑项目文件:
在XCode的“组和文件”窗格中,展开“目标”,然后双击应用程序的目标。这将弹出目标的“信息”窗格。在“构建”部分中,检查“代码签名”部分中是否有任何旧的配置文件,并用正确的配置文件替换。
请注意,这不同于双击项目图标并从那里更改配置文件。相当惊人的:)
奥里
项目和目标属性->“您的提供配置文件”->确定
一切再次正常!
我同意Brad的回答,即您可以通过手动编辑目标/项目并删除以下任何行来解决此问题:
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
但是,在Xcode 4.2和更高版本中,有一种更简单的方法来访问此文本并选择和删除它。在左侧的项目浏览器中,选择您的项目(项目浏览器的最上一行)。现在,只需选择“视图”>“版本编辑器”>“显示版本编辑器”。这会将您的项目显示为文本,您可以在Xcode的编辑器窗格中搜索PROVISIONING并删除麻烦的行。
对于我来说,问题是通过打开Window-> Organizer,选择我的设备并删除右侧“ Provisioning”面板下的旧Provisioning Profile来解决的。旧的已经用红色的“ x”符号标记,但iPhone仍在使用它。
除了该概要文件之外,还显示了新概要文件(具有相同的名称),并且在重新启动应用程序之后,我就使它运行平稳。
花费了一个小时左右的时间,并在Brad的建议和一些其他更改的帮助下,所有这些都起作用了。
我使用以下代码完成了此操作:10.7.3,Xcode 4.3.2,iOS 5.1 btw。
1)右键单击您的myapp.xcodeproj
并选择包装内容
2)project.pbxproj
使用文本编辑器打开(不建议使用textedit,因为它可能会破坏格式)
3)一直向下滚动直到找到 /* Begin XCBuildConfiguration section */
4)请注意,您有一个调试和发布部分
5)在发布部分中查看CODE_SIGN_IDENTITY
&,"CODE_SIGN_IDENTITY[sdk=iphoneos*]"
它看起来应该像这样:
CODE_SIGN_IDENTITY = "iPhone Distribution: MyCompany LLC";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: MyCompany LLC";
6)看一下PROVISIONING_PROFILE
,"PROVISIONING_PROFILE[sdk=iphoneos*]"
它们应该看起来像这样:
PROVISIONING_PROFILE = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
这应该与您在Xcode中的配置文件相匹配。要查看它们是否匹配,请打开Xcode>窗口>管理器>设备>供应配置文件>右键单击配置文件>在Finder中显示> .mobileprovision的文件名就是您的配置文件ID。
7)向下滚动,project.pbxproj
然后找到发布部分的第二个实例。发布部分的第二个实例应以注释结尾/* End XCBuildConfiguration section */
8)确保第二部分与第一部分匹配,以便CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*]
,和PROVISIONING_PROFILE
都被填充。
由于没有人说过,我将提出一个建议:请先备份整个.xcodeproj文件,然后再开始修改其内容。搞砸了项目文件并且没有备份将导致非常非常不愉快的体验。
能够撤消编辑可能是天赐之物。
不幸的是,这种方法对我不起作用。但这是一个对我有用的修复程序(要使其正常工作,您需要在Subversion上有一个有效的项目文件):
我确实回滚到了项目文件的工作版本。由于无法使用Xcode进行还原(Xcode 4的源代码管理中的“还原”选项在哪里?)-我使用了Tortoise,Windows计算机和本教程(http://tortoisesvn.net/docs/nightly/TortoiseSVN_en /tsvn-howto-rollback.html)以回滚到较早的项目文件。
由于该教程对我不起作用,因此我仅使用Tortoise将项目文件的有效修订版本保存到USB记忆棒中,以将其移植到Mac。之后,我用旧的工作文件替换了新的破碎项目文件,对其进行了清理,就像一个魅力一样!