【问题标题】:Xcode iOS organizer submit to app store yields "The archive is invalid" errorXcode iOS 管理器提交到应用商店产生“存档无效”错误
【发布时间】:2011-07-25 22:03:41
【问题描述】:

我刚从 Xcode 3 切换到 4。当我尝试将已存档的应用上传到管理器时,我收到此错误:

存档无效。 /var/folders/.../app.ipa 没有 存在。

这发生在我登录 iTunes Connect 后,选择要更新的应用程序并选择下一步。我不确定从哪里开始尝试找出导致此错误的原因。如果我遗漏了任何对诊断有用的内容,请告诉我。谢谢

【问题讨论】:

  • 对此有何更新?这是一个恼人的错误!
  • 不 :( 我将不得不尝试重新创建一个新项目并将其全部导入。
  • 我之前做过,但失败了,祝你好运,如果成功,请更新!
  • 天哪。我花了几个小时重建项目只是为了再次收到消息......
  • 一个简单的解决方法 - 提交到 AppStore 时 - 选择“不要辞职”选项(选择要提交的应用程序时的第二个下拉菜单)。

标签: iphone xcode ios4 organizer


【解决方案1】:

在 Xcode 中有此错误,但在使用 Application Loader 时没有此错误。通过 Xcode -> Open Developer Tool -> Application Loader 获取它。确实很令人沮丧。

【讨论】:

  • 问这个问题时应用程序加载器不存在。现在一切都容易多了。
  • 啊,没想到。无论哪种方式,很高兴它仍然是一个选项,因为 Xcode 显然仍然存在错误。但仅限于某些项目,这使它更有趣:)
【解决方案2】:

我的解决方案是:

在您的项目中打开info.plist 文件,并在产品名称中写下您的产品名称而不是$[PRODUCT_NAME]

【讨论】:

  • 我又试了一次,但没有做我上面所说的解决方法。从 XCode 创建存档,它工作正常。
【解决方案3】:

对于 xcode 4,我尝试了所有方法,但我无法解决此错误,直到 为雪豹安装 xcode 4.2

如果您在验证页面中看不到您的应用程序图标,则可能是您的 xcode 有错误。 从苹果开发者页面 xcode 4.2 下载并安装。它解决了。 您无需卸载 xcode 4,只需下载新的 xcode 4.2 并安装即可。 我现在很好

【讨论】:

    【解决方案4】:

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

    在这种情况下,请将 ENTITLEMENTS_REQUIRED 重置为 YES。

    【讨论】:

      【解决方案5】:

      同样的事情发生在我身上。我的错误是我有类似名称的证书(例如“Giammy 的配置文件”、“Giammy 的配置文件”......)。

      从 XCode 4.0 运行“存档”,然后从 Organizer 运行“验证...”我遇到了“app.ipa 不存在”问题。问题是我从名字相似的人中选择了错误的证书。 “存档”阶段运行良好,但存档未通过验证。

      解决方案:刚刚在“存档”阶段选择了正确的配置文件。

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

      【讨论】:

        【解决方案6】:

        切勿尝试使用您使用 beta SDK 作为基础 SDK 构建的应用提交。

        我通过使用以下命令卸载所有开发人员工具解决了这个问题

        sudo /Developer/Library/uninstall-devtools --mode=all

        然后重新启动我的系统并安装最新的非测试版 XCode 和非测试版 iOS SDK。

        【讨论】:

          【解决方案7】:

          使用我的工作解决方案 xcode_4.2_and_ios_sdk_5_beta__snow_leopard,我确实遇到了同样的问题。

          在不同的位置安装以前的(非测试版)Xcode 版本并使用该版本,就是这样,我可以将我的应用程序上传到 AppStore,而不会带来任何不便。

          问候,

          豪尔赫。

          【讨论】:

            【解决方案8】:

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

            【讨论】:

              【解决方案9】:

              如果您运行的是 Xcode 测试版(Apple 将其称为“开发者预览版”),您将收到此错误,因为您无法从测试版提交应用程序。自述文件或 Xcode 下载页面中未提及此限制。要提交应用,您需要卸载开发者工具,然后重新安装最新的非 beta 版本,然后重新启动计算机。

              这是要卸载的命令行命令:

              sudo /Developer/Library/uninstall-devtools --mode=all
              

              【讨论】:

                【解决方案10】:

                测试的一个好方法是从命令行运行构建。切换到您的项目文件夹并运行“xcodebuild”并仔细查看输出,尤其是在“codedesign”命令周围。

                我这样做并发现了以下内容:

                architecture armv7 object: /Users/chris/Documents/x/x/build/Release-iphoneos/x.app/x malformed object
                object file format invalid or unsuitable
                

                所以它不是一个解决方案,但它至少可以让您零了解问题所在。无论如何,对我来说,看起来像是架构配置错误。

                更新 - 为了解决这个问题,我将 /usr/bin 文件夹中的 codesign_allocate 副本替换为 /Developer/somewhere 中的副本,并修复了它。

                【讨论】:

                  【解决方案11】:

                  我是这样解决的:

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

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

                  【讨论】:

                    【解决方案12】:

                    我无法通过更改或修复代码签名身份来解决这个问题(在许多情况下,应该解决这个问题。也不是简单地重新安装 Xcode。这是我发布的前两个解决方案这个答案。

                    我发现成功卸载所有开发者工具,然后重新安装。

                    【讨论】:

                    • 卸载说明包含​​在 Xcode 安装程序 dmg 的 About Xcode.pdf 文件中。
                    【解决方案13】:

                    就我而言,这与 Xcode 或 unix 工具无关。事实上,我碰巧有太多的分发证书(为什么?我不知道)。删除了所有这些,除了一个,用这个进行代码签名,在验证时重新对其进行代码签名并提交没有错误。我希望得到这个帮助。

                    【讨论】:

                      【解决方案14】:

                      我尝试了所有方法,包括使用 unix 工具重新安装 xcode4。没有任何效果。 我认为我不应该这样做,因为我可以毫无问题地提交其他应用程序。 我只是在一个特定的项目(来自 xcode3)中遇到了这个问题。

                      我什至从头开始创建了一个项目,重新导入了所有代码并再次尝试 - 失败了。 所以这不仅是我的项目,而且是其中的一些东西。 所以我开始了创建一个新项目的过程,添加一些文件,然后提交,然后拒绝找出导致它的原因。到目前为止,这是有效的。

                      更新:好的 - 它与使用 CorePlot 并将其作为库链接。瞧——在这里找到了答案。 Can't submit app with CorePlot using Xcode4 解决方法:提交时选择“不要辞职”

                      【讨论】:

                        【解决方案15】:

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

                        希望这会有所帮助。

                        【讨论】:

                        • 在卸载 Xcode 并检查我的所有证书等后,这条评论对我来说很有意义。所以这一次,我尝试了这个技巧,而不是验证时的代码签名,因为我在构建中告诉它对存档进行签名,瞧!
                        【解决方案16】:

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

                        【讨论】:

                          【解决方案17】:

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

                          使用 Unix 工具重新安装 XCode 4 修复了它。

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

                          【讨论】:

                            【解决方案18】:
                            1. 退出 Xcode
                            2. 使用文本编辑器打开文件 YourProject.xcodeproj/project.pbxproj
                            3. 删除所有包含 PROVISIONING_FILE = 的行
                            4. 删除所有包含 CODE_SIGN_IDENTITY = 的行
                            5. 保存并关闭 project.pbxproj
                            6. 在 Xcode 中重新打开您的项目
                            7. 清理项目
                            8. 在“构建设置”窗格中选择正确的代码签名身份
                            9. 重建

                            【讨论】:

                            • 我遇到了和 OP 一样的问题。我遵循了这个并在这样做之后尝试构建但失败了,因为现在 xCode 意识到我在钥匙串中有两次相同的证书(一个已过期)。删除过期证书,清理重建后,它工作了。
                            【解决方案19】:

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

                            【讨论】:

                            • 我在使用 Xcode 4 时遇到了这个问题,并使用已安装的所有工具重新安装它修复了它。感谢您的提示!
                            • 这不太可能有任何事情可做,此错误随机发生,无需对您的安装进行任何更改,您可以在一天内获得所有验证,然后它就消失了
                            【解决方案20】:

                            我自己也遇到过这个问题,我似乎找到了解决办法。 即使似乎选择了正确的配置文件,也可能没有。

                            尝试手动浏览可能的配置文件列表并选择正确的配置文件。不要保留自动选择的设置。

                            在“身份:”列表中,确保它没有显示“当前匹配...”。自己手动选择正确的。

                            这应该可以解决问题,您应该可以上传到 AppStore。

                            【讨论】:

                              【解决方案21】:

                              确保您使用正确产品/捆绑 ID 的密钥进行签名。如果我没记错的话,混合起来可能会导致归档问题。 另外,转到该临时文件夹并检查创建的内容。也许 xCode 正在以不同的名称创建 IPA,这可以给你一个提示。

                              【讨论】:

                              • 我检查了创建的临时文件夹,里面什么都没有。此外,据我所知,我分配了正确的捆绑包。我被难住了。
                              猜你喜欢
                              • 1970-01-01
                              • 2016-06-25
                              • 2013-12-05
                              • 1970-01-01
                              • 2015-12-06
                              • 1970-01-01
                              • 2012-01-16
                              • 1970-01-01
                              • 1970-01-01
                              相关资源
                              最近更新 更多