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

qua*_*ato 497 xcode codesign ios provisioning-profile

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

__PRE__

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

Bra*_*Guy 854

有时你的xcode项目文件搞砸了,特别是如果你有一个旧项目并且首先用旧版本的xcode/iphone sdk创建它.您需要做的是在文本编辑器中打开项目文件,从错误中搜索"长字符串"并手动删除该行.实际上,您应该继续删除任何指向任何配置文件的行.然后在xcode中重新打开项目,转到设置并重新选择新的配置文件.这清除了大多数时候的问题.指向配置文件的行将如下所示:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
Run Code Online (Sandbox Code Playgroud)

  • .xcodeproj文件实际上是一个目录,就像一个应用程序包,如果你在finder中右键单击它,你可以选择show package contents,然后你会看到里面的几个文件(或者在终端中只是cd进去).实际的项目文件是那里的扩展名为.pbxproj的文件.一旦用文本编辑器打开它,你要查找的行应以'PROVISIONING_PROFILE =或''"PROVISIONING_PROFILE [sdk = iphoneos*]"='开头.删除所有这些,然后你应该是好的. (210认同)
  • 仍然是2012年XCode4的宝贵建议.谢谢! (11认同)
  • ... 2014年,Xcode6仍然提供了宝贵的建议!非常非常感谢你! (6认同)
  • 唯一适合我的方法:首选项 - >帐户 - >查看详细信息 - >刷新.这从dev门户网站重新加载了所有配置文件.希望这有助于某人 (4认同)
  • 我发现,除了上述内容之外,我还必须删除所有配置文件,从配置门户重新下载它们,然后将它们重新导入XCode.然后,在"构建设置/代码签名"中,为所有构建配置选择正确的配置文件. (2认同)

Ori*_*Ori 129

这是一个更简单的解决方案,对我有用,不需要手动编辑项目文件:

在XCode的"组和文件"窗格中,展开"目标",然后双击应用程序的目标.这将打开目标的"信息"窗格.在"构建"部分中,检查任何旧配置文件的"代码签名"部分,并替换为正确的配置文件.

请注意,这与双击项目图标并从那里更改配置文件不同.相当惊人:)

大利

  • 并确保首先选择正确的构建配置:) (6认同)
  • 这应该是标记为正确的答案. (4认同)

use*_*414 76

  1. 项目和目标属性 - >"不要编码符号" - >确定 - > cmd + S(或cmd + B);
  2. 项目和目标属性 - >"您的配置文件" - >确定

  3. 一切都有效!

  • 这是唯一对我有用的解决方案(使用XCode4).选择"不要代码签名"构建应用程序对我来说是必须采取的步骤. (4认同)

mat*_*att 10

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

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
Run Code Online (Sandbox Code Playgroud)

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


小智 6

刚看到这个问题的一个变种:我按照上面的Brad Smith的说明进入了project.pbxproj文件,除了在这种情况下所有的PROVISIONING_PROFILE行看起来都是正确的,没有出现XCode无法发现的"坏"的配置文件字符串找不到.

但是,修复是一样的:删除project.pbxproj中的所有PROVISIONING_PROFILE行,即使它们在理论上看起来"好",然后在XCode中重新打开项目.


Mec*_*eer 5

要完全在终端中实现 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 保存并关闭