编码错误:删除过期的configuration文件后,找不到configuration文件

试图重build一个刚刚在昨天工作的应用程序。 有一个消息,一个configuration文件已经过期,所以我把它从iPod和iTunes中删除。 当我select一个新的configuration文件(一个在标识符*),现在我得到一个错误:

Code Sign Error: Provisioning Profile (long string) can't be found. 

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

有时候你的xcode项目文件会搞砸,特别是如果你有一个旧的项目,并首先使用旧版本的xcode / iphone sdk创build它。 你需要做的是在文本编辑器中打开项目文件,从错误中search“长string”,然后手动清除该行。 实际上,您应该继续并清除任何指向任何configurationconfiguration文件的行。 然后在xcode中重新打开该项目,转到设置并重新select新的configuration文件。 这清除了大多数时间的问题。 指向configuration文件的行将如下所示:

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

这是一个简单的解决scheme,为我工作,并不需要手动编辑项目文件:

在XCode中的“Groups&Files”窗格中,展开“Targets”并双击你的应用程序的目标。 这将打开目标的信息窗格。 在“生成”部分中,检查任何旧configuration文件的“代码签名”部分,并replace为正确的configuration文件。

请注意,这与双击您的项目图标并从中更改configuration文件不同。 非常惊人:)

大利

  1. 项目和目标属性 – >“不要代码签名” – >确定 – > cmd + S(或cmd + B);
  2. 项目和目标属性 – >“您的configuration文件” – >确定

  3. 一切再次运作!

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

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

但是,在Xcode 4.2和更高版本中,访问这个文本并select和删除它有一个更简单的方法。 在左侧的Project Navigator中,select您的项目(Project Navigator的最上面一行)。 现在只需select视图>版本编辑器>显示版本编辑器。 这会将您的项目显示为文本,您可以在Xcode的编辑器窗格中searchPROVISIONING并删除麻烦的行。

刚才在这个问题上看到了一个变化:我按照上面的Brad Smith的注意事项进入了project.pbxproj文件,除了在这种情况下,所有的PROVISIONING_PROFILE行看起来都是正确的,没有出现XCode无法识别的“坏”configuration文件string找不到。

但是,修正方法是一样的:删除project.pbxproj中的所有PROVISIONING_PROFILE行,尽pipe理论上他们看起来“很好”,然后在XCode中重新打开该项目。

要在terminal中完全实现Brad的解决scheme,请使用这些命令

  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保存并closures

在我的情况下,问题是通过打开窗口 – >组织者,select我的设备,并删除在“configuration”面板下的旧configuration文件解决scheme解决。 旧的已经标有红色的“X”符号,但iPhone仍在使用它。

除了这个简介之外,新的一个也出现了(同名),在简单地重新启动应用程序之后,我就顺利地运行了。

刚刚花了一个小时左右,在Brad的build议和一些额外的变化的帮助下,这一切工作。

我已经完成了这个使用以下:10.7.3,Xcode 4.3.2,iOS 5.1 btw。

1)右键单击myapp.xcodeproj并select包内容

2)用文本编辑器打开project.pbxproj (不要推荐textedit,因为它可能会搞乱格式)

3)一直向下滚动,直到find/* Begin XCBuildConfiguration section */

4)注意,你有一个debugging和发布部分

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中的configuration文件相匹配。 要查看它们是否匹配打开Xcode>窗口>pipe理器>设备>供应configuration文件>右键单击configuration文件>在Finder中显示> .mobileprovision的文件名是您的configuration文件ID。

7)在project.pbxproj向下滚动,findrelease部分的第二个实例。 释放部分的第二个实例应该以/* End XCBuildConfiguration section */的注释/* End XCBuildConfiguration section */

8)确保第二部分与第一部分匹配,以便CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*]PROVISIONING_PROFILE全部填入。

我会提出一个build议,因为还没有人说过:请在开始修改它的内容之前先备份整个.xcodeproj文件。 拧紧项目文件,没有备份将导致非常不愉快的经历。

能够退出编辑可能是天赐之物。

我刚刚在我的XCode4中遇到了这个问题。 要解决这个问题,你需要把所有正确的configuration放到debugging和发布configuration中。

我试图提交(通过归档)我的应用程序。 所以我只是将Debug规定更改为“不要代码签名”,并将发布规定更改为我的应用程序的App Store规定。

这修复它,使我能够正常存档。 希望有所帮助。

在Any iOS SDK中select空白码的代码行,然后select正确的证书。

布拉德·史密斯的解决scheme为我工作,但我也不得不删除CODE_SIGN_IDENTITY领域,使其工作。

不幸的是,这种方法并没有为我工作。 但是,这里有一个修复工作对我来说(为了得到这个工作,你需要在Subversion上有一个工作项目文件):

我没有回滚到我的项目文件的工作版本。 因为它是不可能恢复与Xcode( Xcode 4的源代码pipe理中的“恢复”选项? ) – 我使用了Tortoise,我的Windows机器和本教程( http://tortoisesvn.net/docs/nightly/TortoiseSVN_en /tsvn-howto-rollback.html )回滚到较旧的项目文件。

由于教程没有为我工作,我只是用乌龟把我的项目文件的工作版本保存到一个USB棒,将其移植到我的Mac。 之后,我用旧的工作,取代了新的破碎的项目文件,清理,它像一个魅力工作!

我遇到了问题,因为我用一些新的设备更新了我的AdHoc供应configuration文件,以便在TestFlight上使用。 假设发生这种情况是因为xcode在项目或目标的代码化构build设置中提供了对您的configurationconfiguration文件的旧引用。 我固定我的方式是:

  1. 转到目标构build设置和项目构build设置,在代码签名下,将所有configurationconfiguration文件更改为其他内容。
  2. 转到组织器中的设备/供应configuration文件删除有问题的configuration文件,然后单击右下angular的刷新button。
  3. 返回到目标和项目构build设置,并将您的供应configuration文件设置为适当(有希望)新近刷新的供应configuration文件。

至less在Xcode 5中,这是为我解决了这个问题的东西:

在供应configuration文件下,select违规供应configuration文件,然后在下拉菜单中select一个有效的供应configuration文件。

在这里输入图像描述

您可以删除configuration文件的旧引用。 然后导入新的configuration文件并selectXcode构build器。