我刚刚从 Xcode 3 切换到 4。当我尝试将已存档的应用上传到管理器时,我收到此错误:
存档无效。/var/folders/.../app.ipa 不存在。
这发生在我登录 iTunes Connect 后,选择要更新的应用程序并选择下一步。我不确定从哪里开始尝试找出导致此错误的原因。如果我遗漏了任何对诊断有用的内容,请告诉我。谢谢
我自己也遇到了这个问题,我似乎已经找到了解决方案。即使似乎选择了正确的配置文件,也可能没有。
尝试手动浏览可能的配置文件列表并选择正确的配置文件。不要将设置留在自动选择上。
在“身份:”列表中,确保它没有显示“当前匹配...”。自己手动选择正确的。
这应该可以解决问题,您应该能够上传到 AppStore。
好的,所以当您安装 Xcode 4 软件包时,请确保您选择了“Unix 工具”选项。这就是我的问题。
如果您正在运行 Xcode 测试版(Apple 将其称为“开发人员预览版”),您将收到此错误,因为您不允许从测试版提交应用程序。自述文件或 Xcode 下载页面中未提及此限制。要提交应用程序,您需要卸载开发者工具,然后重新安装最新的非 beta 版本,然后重新启动计算机。
这是要卸载的命令行命令:
sudo /Developer/Library/uninstall-devtools --mode=all
我最近切换到新的 MacBook Pro,并通过迁移助手从 Time Machine 驱动器安装了 XCode 4。
使用 Unix 工具重新安装 XCode 4 修复了它。
由于某种原因,这些文件没有被迁移助手复制。
In my case this has nothing to do with Xcode or the unix tools. Indeed I happend to had too many distribution certificates (Why? I don't know). Deleted all of them but one, code sign with this one, re code sign it while validating and submit it with no errors. I hop this help.
我对 TestFlight 和 App Store 都有同样的问题。我的解决方案是存档应用程序,并在您尝试验证/提交或共享时在组织者中选择“不签名”(在 TestFlight 的情况下)。
希望这可以帮助。
我尝试了上面的大部分想法,但它们对我不起作用,可能是因为我正在使用他的 Appcelerator Titanium 平台。然而,我确实删除了 Build 目录并重新构建了产品,它通过了验证,我能够将二进制文件上传到应用商店。
同样的事情发生在我身上。我的错误是我有类似名称的证书(如“Giammy 的配置文件”、“Giammy 的配置文件”......)。
从 XCode 4.0 运行“存档”,然后从 Organizer 运行“验证...”,我遇到了“app.ipa 不存在”问题。问题是我从具有相似名称的人中选择了错误的证书。“存档”阶段运行良好,但存档未通过验证。
解决方案:刚刚在“存档”阶段选择了正确的配置文件。
经验教训:检查两次配置文件名称!
一个很好的测试方法是从命令行运行构建。切换到您的项目文件夹并运行“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 中的副本,并修复了它。
我使用我的工作解决方案 xcode_4.2_and_ios_sdk_5_beta__snow_leopard 确实遇到了同样的问题。
在不同的位置安装以前(非 beta)版本的 Xcode 并使用该版本,就是这样,它起作用了,我能够将我的应用程序上传到 AppStore,而不会带来任何不便。
问候,
乔治。
您是否一直在玩弄 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/SDKSettings.plist 中的 ENTITLEMENTS_REQUIRED 属性(比如说创建越狱应用程序)?
在这种情况下,请将 ENTITLEMENTS_REQUIRED 重置为 YES。
我通过从我的钥匙串中删除所有过期的签名证书解决了同样的问题。Xcode 似乎只是抓住它找到的第一个具有给定名称的名称,而不管它是否仍然有效。
确保您使用正确的产品/捆绑 ID 的密钥进行签名。如果我没记错的话,混合起来可能会导致归档问题。另外,转到该临时文件夹并检查创建的内容。也许 xCode 正在以不同的名称创建 IPA,这可以给你一个提示。
切勿尝试使用您使用 beta SDK 作为基础 SDK 构建的应用提交。
我通过使用以下命令卸载所有开发人员工具解决了这个问题
sudo /Developer/Library/uninstall-devtools --mode=all
然后重新启动我的系统并安装最新的非测试版 XCode 和非测试版 iOS SDK。
这是我解决它的方法:
如果您正在为存档构建并且您没有看到任何钥匙串确认对话框,您可以在此时停止,因为提交不起作用。
我尝试了一切,包括使用 unix 工具重新安装 xcode4。没有任何效果。我认为我不应该这样做,因为我可以毫无问题地提交其他应用程序。我只是在一个特定的项目(来自xcode3)中遇到了这个问题。
我什至从头开始创建了一个项目,重新导入了所有代码并再次尝试 - 失败了。所以这不仅是我的项目,而且是其中的一些东西。所以我开始了创建一个新项目的过程,添加一些文件,然后提交,然后拒绝找出导致它的原因。到目前为止,这是有效的。
更新:好的 - 它与使用 CorePlot 并将其作为库链接。瞧——在这里找到了答案。 Can't submit app with CorePlot using Xcode4 解决方案:提交时选择“不要辞职”
我的解决方案是:
在您的项目中打开info.plist
文件并在产品名称中写下您的产品名称而不是$[PRODUCT_NAME]
对于 xcode 4,我尝试了所有方法,但在为 snowleopart 安装 xcode 4.2 之前我无法解决此错误
如果您在验证页面中看不到您的应用程序图标,则可能是您的 xcode 有错误。从苹果开发者页面 xcode 4.2 下载并安装。它解决了。您无需卸载 xcode 4,只需下载新的 xcode 4.2 并安装即可。我现在很好
我无法通过更改或修复代码签名身份来解决此问题(这在许多情况下应该可以解决此问题。也没有简单地重新安装 Xcode。这是我发布此答案时的前两个解决方案。
我发现成功卸载了所有开发人员工具,并从头开始重新安装。
在 Xcode 中出现此错误,但在使用 Application Loader 时没有此类错误。通过 Xcode -> Open Developer Tool -> Application Loader 获取它。确实非常令人沮丧。