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个回答

0

我尝试了所有方法,包括重新安装带有Unix工具的xcode4。但是都没有用。 我认为我不应该这样做,因为我能够提交其他应用程序而没有问题。 我只是在一个特定项目(来自xcode3)中遇到了这个问题。

我甚至从头开始创建了一个项目,导入了所有代码,然后再次尝试 - 失败了。 所以这不仅仅是我的项目,而是其中的某些东西。 因此,我已经开始创建一个新项目,添加一些文件,然后提交,然后拒绝以找出原因。到目前为止,这个方法还有效。

更新:好吧-这与使用CorePlot并将其链接为库有关。我在这里找到了答案。 Can't submit app with CorePlot using Xcode4 解决方案:在提交时选择“不重新签名”


0
我通过从我的钥匙串中删除所有过期的签名证书来解决了这个问题。Xcode似乎只会获取它找到的第一个具有给定名称的证书,而不管它是否仍然有效。

0

我无法通过更改或修复代码签名身份来解决此问题(在许多情况下应该可以解决此问题)。重新安装Xcode也没有解决问题。这些是我发布此答案时的前两个解决方案。

我成功地通过卸载所有开发工具,并从头开始重新安装来解决了这个问题。


卸载说明已包含在Xcode安装程序dmg中的About Xcode.pdf文件中。 - arlomedia

0

这是我解决问题的方法:

  1. 打开钥匙串并删除所有分发证书,包括我的“登录”和“系统”中的证书。
  2. 从开发者中心下载最新的分发证书。
  3. 双击证书在钥匙串上安装。
  4. 在XCode中,确保证书名称与构建设置中的名称匹配。
  5. 进行归档构建(一个钥匙串弹出窗口应该会要求允许签署应用程序)。
  6. 进行归档(再次需要钥匙串确认)。
  7. 验证已归档的应用程序(再次需要钥匙串确认)。
  8. 提交应用程序(再次需要钥匙串确认)。

如果您正在进行归档构建,并且没有看到任何钥匙串确认对话框,那么您可以在那一点停止,因为提交不会起作用。


0

我曾经在使用xcode_4.2_and_ios_sdk_5_beta__snow_leopard时遇到过同样的问题,我的解决方案是:

在不同的位置安装以前(非beta版)的Xcode版本,并使用该版本即可。这就是我的解决办法,我能够毫无困难地将我的应用上传到AppStore中。

敬礼,

Jorge.


0
我的解决方案是:
打开项目中的 info.plist 文件,将产品名称写入产品名称中,而不是使用 $[PRODUCT_NAME]

我再次尝试而不使用我之前提到的解决方法。从XCode创建存档,它正常工作了。 - John Starkin

0

对于Xcode 4,我尝试了所有的方法,但是直到安装了适用于Snow Leopard的Xcode 4.2才解决了这个错误。

如果您在验证页面中看不到应用程序图标,可能是因为您的Xcode出现了错误。从苹果开发者页面下载Xcode 4.2并安装即可解决问题。您无需卸载Xcode 4,只需下载新的Xcode 4.2并安装即可。我现在非常好。


0

确保您使用正确的产品/捆绑标识签名。如果我没记错的话,混淆这些可能会导致存档问题。 此外,请转到临时文件夹并检查创建了什么。也许xCode正在使用不同的名称创建IPA文件,这可能会给您一些提示。


我已经检查了创建的临时文件夹,里面什么也没有。而且,据我所知,我已经正确地分配了捆绑包。我被难住了。 - Dobler

0

在Xcode中遇到了这个错误,但使用Application Loader时没有出现此类错误。可以通过Xcode -> 打开开发人员工具 -> Application Loader访问它。确实非常令人沮丧。


当这个问题被提出时,应用程序加载器并不存在。如今一切都变得更加容易了。 - Dobler
啊,我没意识到这一点。不管怎样,很高兴它仍然是一个选项,因为Xcode显然还存在一个bug。但只有在某些项目中才会出现,这使得事情变得更有趣 :) - jyoung

0

你是否一直在尝试使用/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/SDKSettings.plist中的ENTITLEMENTS_REQUIRED属性(比如创建越狱应用)?

如果是这样,请将ENTITLEMENTS_REQUIRED重置为YES。


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