代码设计错误:删除过期的配置文件后找不到配置文件
-
21-09-2019 - |
题
尝试重建昨天才可以运行的应用程序。收到一条配置文件已过期的消息,因此我将其从 iPod 和 iTunes 中删除。当我选择一个新的配置文件(标识符中带有 * 的配置文件)时,我现在收到错误:
代码签名错误:找不到配置文件(长字符串)。
我缺少什么?我查看了相关问题,还没有看到这种情况。
解决方案
有时你的Xcode项目文件被搞砸了,特别是如果你有一个旧的项目,并首先使用旧版本的Xcode / iPhone SDK中的创建它。你需要做的就是打开一个文本编辑器的项目文件,搜索来自错误的“长串”,并手动清除该行。事实上,你应该先走一步,删除指向任何配置设定档的线。然后重新打开该项目在Xcode中,去设置并重新选择新的配置文件。这将清除得那样大部分时间的问题。指向供应轮廓的线将是这样的:
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
其他提示
下面是一个是为我工作不要求项目文件的手工编辑简单的解决方案:
在Xcode中,在“组和文件”窗格中,展开“目标”,并在你的应用程序的目标双击。这带来了对目标信息窗格中。在“创建”的部分,检查“代码签名”部分的任何旧配置文件和与正确的替换。
请注意,这是你的项目的图标,并从那里更改配置文件从双击不同。相当惊人的:)
大利
- 项目&目标属性 -> “不要代码签名” -> 确定 -> cmd+S(或 cmd+B);
项目和目标属性 - >“您的配置文件” - >确定
一切又恢复正常了!
我同意布拉德的回答,您可以通过手动编辑目标/项目,删除任何行这样解决这个问题:
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
然而,在Xcode 4.2和更高版本,有访问此文本,然后选择并删除它更简单的方法。在Project Navigator左侧,选择您的项目(Project Navigator的最上面的线)。现在,只需选择查看>文本编辑>显示文本编辑。这将显示您的项目文本,你可以在Xcode的编辑窗格中搜索配置和删除的麻烦线,就在那里。
刚看到在这个问题上的变化:我走进project.pbxproj文件按上述布拉德·史密斯的笔记,除了在这种情况下,所有的PROVISIONING_PROFILE行似乎是正确的,没有出现“坏”的个人资料串那的XCode找不到。
不过,修复是相同的:删除所有在project.pbxproj的PROVISIONING_PROFILE线,即使他们在理论上看起来“好”,然后重新打开在Xcode项目
。要完全在终端中实现 Brad 的解决方案,请使用以下命令
cd [Xcode project parent]
vi [Xcode project name].xcodeproj/project.pbxproj
/[offending provisioning profile] [Enter]
dd
- 删除整行- 按 n 直到找不到更多
- Ctrl+x 保存并关闭
在我的情况下,问题是由开口窗解决。老一已经标有红色的“X”符号,但iPhone仍然使用它。
除此之外轮廓,也是新酮显示出来(具有相同的名称),并简单地重新发起应用我有它平稳运行之后。
刚刚度过了一个小时左右,这样做的,与布拉德的建议的帮助和一些其他更改它的所有工作。
我已经使用以下做到了这一点:10.7.3,Xcode的4.3.2,iOS的5.1顺便说一句
1)鼠标右键点击你myapp.xcodeproj
并选择软件包内容
2)打开project.pbxproj
用文本编辑器(不建议文本编辑,因为它可能搞砸格式化)
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文件的备份,然后开始修改其内容。搞砸了项目文件,并没有备份将导致一个非常非常不愉快的经历。
如果能够背出的编辑可以是一大福音。
我只是在我的XCode4遇到了这个问题。要解决这个问题, 你需要把所有正确的条款纳入Debug和Release配置。
我试图提交(通过存档),我的应用程序。所以,我只是改变了调试规定“不要代码签名”,并释放提供给我的应用程序的AppStore提供。
此解决它,使我正常存档。希望帮助。
选择在代码签名是任何的iOS SDK下空白线,并选择合适的证书。
布拉德·史密斯的解决方案为我,但我也不得不删除CODE_SIGN_IDENTITY领域,使其工作。
不幸的是这种方法并没有为我工作了。但这里是它为我工作的修复(得到这个工作,你需要在颠覆或工作项目文件的话):
我没有回滚到我的项目文件的工作版本。因为它是不可能的Xcode(凡回复?是在Xcode 4的源控制的“还原”选项) - 我用龟,我的Windows机器和本教程(的 http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html )回滚到旧的项目文件。
由于教程并没有为我工作了,我只是用龟到我的项目文件的工作版本保存到USB记忆棒将其移植到我的Mac。从那以后,我替换旧的工作一个新的打破的项目文件,清理和它的工作就像一个魅力!
我遇到了问题,因为我使用一些在 TestFlight 上使用的新设备更新了我的 AdHoc 配置文件。假设发生这种情况是因为 xcode 在项目或目标的协同签名构建设置中对您的配置文件有旧的引用。我修复我的方法是:
- 转到目标构建设置和项目构建设置,在代码签名下将所有配置文件更改为其他内容。
- 转到管理器中的设备/配置文件,删除有问题的配置文件,然后单击右下角的刷新按钮。
- 返回到目标和项目构建设置,并将您的配置文件设置为适当的(希望)新刷新的配置文件。
至少在Xcode 5,这是一个解决了这个问题对我的事:
在预置简档中,选择有问题的预置简档,然后选择在下拉菜单中选择一个有效的provisioning profile。
您可以删除供应文件的旧参考。然后后导入新的供应资料和选择的Xcode助洗剂。