试图重建一个昨天还在工作的应用程序。收到一条信息说一个档案过期了,所以我把它从iPod和iTunes中删除了。当我选择一个新的配置文件(一个在标识符*),我现在得到一个错误:
代码符号错误:无法找到配置文件(长字符串)。
我错过了什么?我浏览了相关问题,并没有看到这种情况。
试图重建一个昨天还在工作的应用程序。收到一条信息说一个档案过期了,所以我把它从iPod和iTunes中删除了。当我选择一个新的配置文件(一个在标识符*),我现在得到一个错误:
代码符号错误:无法找到配置文件(长字符串)。
我错过了什么?我浏览了相关问题,并没有看到这种情况。
当前回答
选择“任何iOS SDK”下的“协同设计”中空白的行,并选择正确的证书。
其他回答
Project&Targets属性->“不要代码签名”-> OK -> cmd+S(或cmd+B); 项目和目标属性->“您的供应配置文件”-> OK 一切都恢复正常了!
选择“任何iOS SDK”下的“协同设计”中空白的行,并选择正确的证书。
只是看到了这个问题的一个变体:我进入了这个项目。根据Brad Smith上面的注释,pbxproj文件,除了在这种情况下,所有的PROVISIONING_PROFILE行似乎是正确的,没有出现Xcode找不到的“坏”配置文件字符串。
但是,修复方法是相同的:删除项目中的所有PROVISIONING_PROFILE行。pbxproj,尽管理论上看起来“不错”,然后在Xcode中重新打开项目。
只花了一个小时左右的时间,在布拉德的建议和一些额外的改变的帮助下,它都起作用了。
我使用以下方法做到了这一点:10.7.3,Xcode 4.3.2, iOS 5.1 btw。
1)右键点击你的myapp。Xcodeproj并选择包内容
2)开放项目。使用文本编辑器Pbxproj(不建议使用textedit,因为它可能会搞砸格式)
3)一直向下滚动,直到找到/* Begin XCBuildConfiguration部分*/
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)在项目中向下滚动。并找到发布部分的第二个实例。发布部分的第二个实例应该以注释结尾:/* end XCBuildConfiguration section */
8)确保第二部分与第一部分匹配,以便CODE_SIGN_IDENTITY,“CODE_SIGN_IDENTITY[sdk=iphoneos*]和PROVISIONING_PROFILE都被填写。
您可以删除配置文件的旧引用。然后在导入新的配置文件和选择Xcode构建器。