Xcode iOS组织者提交到应用商店出现“存档无效”错误

17

我刚从Xcode 3切换到4。当我试图上传我已经存档的应用程序到组织者时,我收到以下错误:

存档文件无效。 /var/folders/.../app.ipa不存在。

archive is invalid. app.ipa does not exist.

当我登录到iTunes Connect后,选择要更新的应用程序并选择下一步时,会出现这种情况。我不确定从何处开始尝试找出导致此错误的原因。请告诉我是否遗漏了任何有助于诊断的信息。谢谢。


有更新吗?这个错误很烦人! - WrightsCS
不好意思 :( 我得尝试重新创建一个新项目,然后再将所有内容导入进去。 - Dobler
我之前尝试过,但失败了,祝你好运,如果你成功了请更新! - WrightsCS
天啊,我花了好几个小时重建这个项目,结果还是收到了同样的消息... - Dobler
一个简单的解决方法 - 在提交到AppStore时 - 选择选项“不重新签名”(当您选择要提交的应用程序时,第二个下拉菜单)。 - EasyCoder
21个回答

6
我刚刚自己遇到了这个问题,但我好像已经找到了解决方法。 即使选择了正确的配置文件,它也可能不正确。
尝试手动浏览可能的配置文件列表并选择正确的配置文件。 不要将设置留在自动选择上。
在“身份:”列表中,请确保它没有说“当前匹配...”。 请手动选择正确的身份。
这应该解决问题,您应该能够上传到AppStore。

5

好的,在安装Xcode 4软件包时,请确保选择了“Unix工具”选项。这就是我的问题所在。


我在使用Xcode 4时遇到了这个问题,重新安装并安装所有工具后问题得以解决。感谢您的提示! - Ethan Allen
1
这与安装无关,这个错误是随机发生的,您可能在一天内遇到所有验证都出现此错误,然后第二天就消失了。 - valexa

4
如果您运行的是Xcode beta版本(苹果称之为“开发者预览”),您会收到此错误,因为您不允许从beta版本提交应用程序。在自述文件或Xcode下载页面中没有提到这个限制。要提交应用程序,您需要卸载开发人员工具,然后重新安装最新的非beta版本,然后重新启动计算机。
以下是卸载的命令行命令:
sudo /Developer/Library/uninstall-devtools --mode=all

2
  1. 退出Xcode
  2. 用文本编辑器打开文件YourProject.xcodeproj/project.pbxproj
  3. 删除所有包含PROVISIONING_FILE =的行
  4. 删除所有包含CODE_SIGN_IDENTITY =的行
  5. 保存并关闭project.pbxproj文件
  6. 重新在Xcode中打开您的项目
  7. 清理项目
  8. 在“构建设置”面板中选择正确的代码签名标识
  9. 重新构建

我和楼主遇到了同样的问题。我按照这个方法操作后,尝试构建但失败了,因为xCode现在意识到我在钥匙串中有两个相同的证书(其中一个已过期)。删除过期证书、清理并重新构建后,它就可以工作了。 - olivaresF

1

我在TestFlight和App Store都遇到了同样的问题。对我来说,解决方案是将应用程序存档,并在组织者中选择“不签名”,当您尝试验证/提交或共享(在TestFlight的情况下)时。

希望这可以帮助到您。


在卸载Xcode并检查所有证书等内容后,这个评论对我来说有意义。所以这一次,在验证时,我尝试了这个提示,因为我告诉它在构建时签署存档,然后哇! - Nungster

1
在我的情况下,这与Xcode或Unix工具无关。事实上,我不知道为什么会有太多的分发证书。删除了所有证书,只保留一个,用这个证书进行代码签名,在验证时重新进行代码签名,并且没有出现任何错误就提交了。希望这能帮到你。

1

我尝试了上面大部分的想法,但它们对我不起作用,可能是因为我正在使用Appcelerator Titanium平台。但是,我删除了Build目录并重新构建了产品,它通过了验证,我能够将二进制文件上传到应用商店。


1
一个好的测试方法是从命令行运行构建。切换到您的项目文件夹并运行“xcodebuild”,仔细查看输出,特别是在“codesign”命令周围。
我这样做并发现了以下内容:
architecture armv7 object: /Users/chris/Documents/x/x/build/Release-iphoneos/x.app/x malformed object
object file format invalid or unsuitable

所以这不是一个解决方案,但至少让你能够聚焦于问题所在。对我来说,看起来像是架构配置错误。

更新 - 为了解决这个问题,我用/Developer/somewhere中的codesign_allocate替换了我的/usr/bin文件夹中的副本,这样就解决了。


1

我最近换了一台新的MacBook Pro,并通过迁移助手从Time Machine驱动器安装了XCode 4。

重新安装带有Unix工具的XCode 4解决了问题。

由于某种原因,这些文件在迁移助手中没有被复制。


1

我也遇到了同样的问题。我的错误在于我有类似名称的证书(例如“Giammy的配置文件”,“Giammy的配置文件供应”...)。

从XCode 4.0运行“Archive”,然后从组织者中运行“验证...”时,我遇到了“app.ipa不存在”的问题。问题是我从那些具有相似名称的证书中选择了错误的证书。 “Archive”阶段工作正常,但存档未通过验证。

解决方案:在“Archive”阶段中选择正确的配置文件。

教训:检查两次配置文件名称!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接