Codeign错误:删除过期的配置文件后找不到配置文件

拟墨画扇 提交于 2020-02-28 07:03:29

试图重建一个昨天工作的应用程序。 收到个人资料已过期的消息,因此我将其从iPod和iTunes中删除。 当我选择一个新的配置文件(标识符中带有*)时,我现在收到一个错误:

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

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


#1楼

只花了一个小时左右这样做,并在布拉德的建议和一些额外的改变的帮助下,这一切都奏效了。

我使用以下内容完成了此操作:10.7.3,Xcode 4.3.2,iOS 5.1顺便说一句。

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


#2楼

要完全在终端中实现Brad的解决方案,请使用这些命令

  1. cd [Xcode project parent]
  2. vi [Xcode project name].xcodeproj/project.pbxproj
  3. /[offending provisioning profile] [Enter]
  4. dd - 删除整行
  5. 按n直到找不到更多
  6. 按Ctrl + x保存并关闭

#3楼

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


#4楼

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

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

但是,在Xcode 4.2及更高版本中,有一种更简单的方法来访问此文本并选择和删除它。 在左侧的Project Navigator中,选择您的项目(Project Navigator的最顶行)。 现在只需选择View> Version Editor> Show Version Editor。 这会将您的项目显示为文本,您可以在Xcode的编辑器窗格中搜索PROVISIONING并删除麻烦的行。


#5楼

不幸的是,这种方法对我没有用。 但是这里有一个对我有用的修复(为了让它工作,你需要一个关于Subversion的工作项目文件):

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

由于教程没有为我工作,我只是使用Tortoise将我的项目文件的工作版本保存到usb棒以将其移植到我的mac。 在那之后,我用旧的工作文件替换了新的破坏的项目文件,清理它,它就像一个魅力!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!