Xcode 4.3:代码操作失败(检查您select的身份是否有效)

安装Xcode 4.3后,我无法使用Organizervalidation和分发应用程序。 虽然在Xcode中构build,签名和validation是正常的,但是Organizer中的validation失败,并在此问题的标题中显示消息。

首先,Xcode 4.3可以自动下载configuration文件(在Organizer中有一个选项),但它只下载开发configuration文件,并忽略分配configuration文件,就好像没有configuration文件一样。 好的,我手动下载并安装了它,并出现在pipe理器中。 然后,我为项目和目标设置适当的代码签名标识,并使用与我的钥匙串中的分发证书匹配的分发configuration文件。 然后我做存档(构build – 签名 – validation),没有错误,在日志中我看到CodeSign和validation步骤的绿色复选标记。 看起来不错,存档出现在组织者。

这就是所有错误的地方,我只是selectvalidation,select我刚刚在iTunes Connect中准备的新版本,select正确的代码签名身份,就像用于存档(实际上,在我的情况下没有其他select),它要求对于iTu​​neslogin/密码照常,然后说

代码标志操作失败

检查您select的身份是否有效

唉唉! 为什么!? 在存档时没有问题,然后在尝试提交到AppStore时,相同的代码签名不起作用。 那么,甚至不提交,但实际发送之前validation。 所以这个问题是我的机器本地。 生成期间成功的签名和validation,在pipe理器中失败…

我试了一切,重新安装Xcode,删除/撤销,重新颁发所有证书,从钥匙串删除重复的私钥和公钥,将所有证书放在一个“login”钥匙串,发布新的configuration文件,安装Application Loader 2.5.1,等等…仍然没有运气。

难道是我有一些从以前的Xcode安装遗留? 或者我必须更新一些工具才能使pipe理器正常工作?

同时,如果有人知道另一种上传二进制到AppStore的方式,请分享。 我无法弄清楚如何使用Application Loader来做到这一点,当它要求我select一个包上传,我所有的是Xcode在归档步骤中创build的Xcode归档。 我怎样才能让我的手在iap或Application Loader想要的任何文件上?

我发现Xcode 4.3.1有一个严重的问题,就是在应用程序包中的目录树中使用资源validation应用程序。

应用程序可以在Xcode“Build for Archive”过程中通过validation – 只有在通过Organizer运行validation时,validation才会失败。

花费数小时试图追踪常见的代码签名授权问题后,当导出失败时,我最终注意到系统控制台中的以下行:

3/10/12 2:32:48.450 PM [0x0-0x261261] .com.apple.dt.Xcode:/ Users / chris / Library / Developer / Xcode / Archives / 2012-03-10 / Coverage 3-10-12 2.32 PM.xcarchive / Products / Applications / Coverage.app / Tiles / T-Mobile-roam / 4:是一个目录

我花了一天的时间来试图隔离这个bug,而且我终于明白了。

XCode 4.3.1中的代码签名者在为App Storevalidation或保存AdHoc分发扼stream圈时,只要包中的子目录与其父目录具有相同的名称即可。

例如:

test/test/file.x -- FAIL test/test2/file.x -- WORKS 

这在Xcode 4.3.1中似乎是新的,希望很快会被修复。

注意:这个线程似乎相关: https : //devforums.apple.com/message/630800

我是苹果开发者论坛上的原始海报…
https://devforums.apple.com/message/621193

我也试图把这个引起了AddThis开发者的注意:
https://www.addthis.com/forum/viewtopic.php?f=19&t=38292

正如其他职位所述,我发现防止代码签名失败的唯一方法是从项目中删除ATResources.bundle文件。

当然,这个包包含许多AddThis的必要的图像等等,但错误不再发生。

我希望这可以帮助别人发现解决这个问题的正确方法。

问题是AddThis文件夹中显式或ATResources.bundle。

所以你有两个select:

  • 第一个是使用旧版本的Xcode进行存档。

  • 第二个是将ATResources.bundle中的所有图像重定位到一个文件夹中,并将Localizable.strings的内容复制到您自己的Localizable.strings

    然后打开FBDialog.m文件并search“close.png”,删除该行代码并将其replace为:

    UIImage * closeImage = [UIImage imageNamed:@“close.png”];

现在您已经准备好归档了。

最后考虑在https://bugreport.apple.com/上提交错误报告

就我而言 ,这是一个受损的定制框架。

我的软件包上有很多子目录,和父母的名字相同,所以我无法validation和提交。 我发现的唯一解决scheme是从Apple开发人员中心下载xcode 4.2.1,并将其与xcode 4.3.2并排安装。 然后我用它来validation和提交。

我正在使用Sencha 2进行开发。这里的关键是从Apps / Utilities启动系统控制台,并在分发时查看错误日志。 这是查看违规目录最简单的方法。 在Sencha2中它在/ sdk / src / device / device中。 好东西:仍然在xcode 4.3.2中发生

只需确认问题确实是嵌套在我的应用程序中具有相同名称的文件夹。

在我的具体情况下,这是问题:

  • 问题:images / packs / 1/1 /img.png
  • 解决scheme:images / packs / pack_1 / 1 /img.png

之后顺利航行。 这发生在Xcode 4.3.3中

find了解决scheme,它真的为我工作。 希望这会帮助你们。

如果问题是因为Addthis,请尝试以下内容

在这里输入图像说明

注意到里面的ATResources.bundle你有一个名为ATResources的文件夹。

ATResources正好包含ATResources.bundle中存在的副本项目(ADDTHIS.db,en.lproj,images)。 所以我们可以简单地从ATResources.bundle中删除ATResources文件夹。

删除,从ATResources.bundle中select文件,然后右键单击,在finder – >中显示并删除ATResources文件夹。

在这里输入图像说明

主要的问题是因为你的包中的子目录和它的父目录有相同的名字。

🙂

我在我的项目(在xcode 4.3.2)中有同样的问题,并根据所有答案我检查任何.png文件开始与._* ,并检查文件夹及其子文件夹是不同的名称。

还按照要求检查了代码签名标识 ,但没有成功解决这个问题。

经过一整天的努力,终于在我的项目中得到了“包装操作失败”错误的原因。

在我的情况下,我已经归类About_us.hAbout_us.m并错误地导入头文件,如#import "About Us.h" (中间的空白)。 所以,当我加载设备上的应用程序,它会成功加载,但是当我尝试使用存档创buildIpa给我错误,并返回我估计的应用程序商店大小只有143 kb。

最后,当我改变#import "About_Us.h"#import "About_Us.h"并试图让ipa我有适当的MB的真实大小。

希望这会帮助别人。

我在Xcode 5.0.2(5A3005)上遇到了这个问题,其中有两个完全独立的文件夹,碰巧被命名为相同的东西。

这个线程中的大多数情况下,重点是父/兄弟关系,但我认为任何两个具有相同名称的文件夹将导致此失败。

我和你有同样的问题,radven的回应启发了我:

你看到ATResources目录只包含其父文件的副本吗?

 ADDTHIS.db en.lproj/* images/* ATResources/ADDTHIS.db ATResources/en.lproj/* ATResources/images/* 

作为一个快速和肮脏的修复我删除了冗余的子目录。 应用程序构build,似乎工作正常,Xcode是能够签署。

让我知道,如果我错过了这个修复的后果?

哎,我在这个问题上花了一个小时。

我刚从我的项目中删除了AddThis。 这样做,它会工作。

重新启动xcode使button为我工作。 他们以前都是灰色的,以防这里有人遇到同样的问题

Techi50暗示了这一点,但要清楚 – 在Xcode 4.3.5下,如果你有与父目录同名的子目录,代码签名将会失败。 在Sencha Touch 2 SDK树中,例如,有

/ SDK / SRC /设备/设备

argh …小时试图编码签署没有运气…重命名为:

/ SDK / SRC /设备/ device_epic_fail

(因为我不需要这些库)

我可以编码的标志。

一个大的寻找bug已经结束了。 苹果…修复请…

将AddThis SDK从0.1.7更新到0.1.9为我解决了这个问题(使用XCode 4.3.1)。

我已经确定了这个错误的另一个原因,这在Xcode 4.6.2(4H1003)中出现了。 我有一个子项目build立一个可执行文件。 这个可执行文件是一个辅助工具,它在构build时被复制到我的应用程序包中。

该应用程序具有OS X 10.7的最小部署目标,并因此为64位英特尔构build。 但是,该辅助工具被设置为10.6的部署目标,并正在为32位/ 64位英特尔构build。

更换辅助工具也build立为10.7和64位英特尔只修复错误。 我可以通过将辅助工具更改回32位/ 64位英特尔来可靠地重新创build错误; 这不是一个“呃,赶上你的PRAM”修复。

由于@radven和@ tomek-cejner有时会提到一些额外的目录可能会导致问题。 也许如果命名不正确? 对我来说罪犯是不同的。

Gruntfile.js,karma-e2e.conf.js,karma.conf.js和整个node_modules目录。

请参阅: 如何使用XCode 5与TestFlight一起构buildIPA进行分发?