Xcode iOS 管理器提交到应用商店会产生“存档无效”错误
我刚刚从 Xcode 3 切换到 4。当我尝试上传已存档到组织者的应用程序时,我收到此错误:
存档无效。 /var/folders/.../app.ipa 没有 存在。
在我登录 itunes connect,选择要更新的应用程序后,会发生这种情况并选择下一步。我不知道从哪里开始尝试找出导致此错误的原因。如果我遗漏了任何对诊断有用的内容,请告诉我。谢谢
I just switched from Xcode 3 to 4. When I attempt to upload an app that I have archived to the organizer, I receive this error:
The archive is invalid.
/var/folders/.../app.ipa does not
exist.
This happens after I log in to itunes connect, select the application to update and select next. I am not sure where to begin trying to figure out what is causing this error. Please let me know if I am leaving out anything that would be useful for diagnosing. Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(21)
我自己刚刚遇到了这个问题,我似乎已经找到了解决方案。
尽管似乎选择了正确的配置文件,但实际上可能并非如此。
尝试手动浏览可能的配置文件列表并选择正确的配置文件。不要将设置保留为自动选择。
在“身份:”列表中,确保它没有显示“当前匹配...”。自己手动选择正确的。
这应该可以解决问题,并且您应该能够上传到 AppStore。
I just faced this problem myself, and I seem to have found a solution to it.
Even though the correct provisioning profile seems to be selected, it might not be.
Try to manually navigate the list of possible provisioning profiles and select the correct one. Do not leave the setting on automatic selection.
In the "Identity:"-list, make sure it does not say "Currently matches...". Manually select the correct one yourself.
That should fix the problem and you should be able to upload to the AppStore.
好的,所以当您安装 Xcode 4 软件包时,请确保选择了“Unix Tools”选项。这就是我的案例中的问题。
Okay, so when you install the Xcode 4 package, make sure you have the "Unix Tools" option selected. This was the problem in my case.
如果您运行的是 Xcode beta 版本(Apple 称之为“开发者预览版”),您将收到此错误,因为您不允许从 beta 版本提交应用程序。自述文件或 Xcode 下载页面中未提及此限制。要提交应用程序,您需要卸载开发人员工具,然后重新安装最新的非测试版,然后重新启动计算机。
这是卸载的命令行命令:
If you are running an Xcode beta version (Apple calls it a "developer preview") you will get this error because you're not allowed to submit apps from a beta version. This restriction is not mentioned in the Read Me file or on the Xcode download page. To submit an app, you will need to uninstall Developer Tools, then reinstall the latest non-beta version, then restart your computer.
Here's the command-line command to uninstall:
我最近换了一台新的 MacBook Pro,并通过迁移助手从 Time Machine 驱动器安装了 XCode 4。
使用 Unix Tools 重新安装 XCode 4 修复了该问题。
由于某种原因,这些文件没有通过迁移助手进行复制。
I recently switched to a new MacBook Pro and had XCode 4 installed from a Time Machine drive via the Migration Assistant.
Re-installing XCode 4 with the Unix Tools fixed it.
For some reason those files weren't getting copied across with Migration Assistant.
我在 TestFlight 和 App Store 上都遇到了同样的问题。我的解决方案是存档应用程序,并在尝试验证/提交或共享时(在 TestFlight 的情况下)在管理器中选择“不签名”。
希望这有帮助。
I had the same issue for both TestFlight and App Store. The solution for me was to archive the app, and in the organizer select "Don't sign" when you try to validate/submit or share (in the case of TestFlight).
Hope this helps.
就我而言,这与 Xcode 或 unix 工具无关。事实上,我碰巧有太多的分发证书(为什么?我不知道)。删除了所有内容,只留下一个,用这个进行代码签名,在验证时重新对其进行代码签名,然后毫无错误地提交。我希望有帮助。
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.
一个好的测试方法是从命令行运行构建。更改到您的项目文件夹并运行“xcodebuild”并仔细查看输出,尤其是“codesign”命令周围的输出。
我这样做并发现了以下内容:
所以这不是一个解决方案,但它至少可以让您将问题归零。无论如何,对我来说,看起来像是一个架构配置错误。
更新 - 为了解决这个问题,我将 /usr/bin 文件夹中的 codesign_allocate 副本替换为 /Developer/somewhere 中的副本,并修复了该问题。
A good way to test is to run the build from the command line. Change to your project folder and run 'xcodebuild' and look carefully at the outputs, especially around the 'codesign' command.
I did this and discovered the following:
So it isn't a solution, but it at least lets you zero in on what the problem is. Anyway, for me, looks like an architecture config error.
Update - to fix this problem, i replaced the copy of codesign_allocate in my /usr/bin folder with the one in /Developer/somewhere and that fixed it.
我尝试了上面的大部分想法,但它们对我不起作用,可能是因为我正在使用 Appcelerator Titanium 平台。不过,我确实删除了 Build 目录并重新构建了产品,它通过了验证,我能够将二进制文件上传到应用程序商店。
I tried most of the ideas above, and they did not work for me, likely because I am using he Appcelerator Titanium platform. I did however delete the Build directory and re-built the product and it passed the validation and I was able to upload the binary to the app store.
我也遇到同样的情况。我的错误是我的证书名称相似(例如“Giammy 配置文件”、“Giammy 配置文件”...)。
从 XCode 4.0 运行“存档”,然后从管理器运行“验证...”,我遇到了“app.ipa 不存在”问题。问题是我从具有相似名称的证书中选择了错误的证书。 “存档”阶段运行良好,但存档未通过验证。
解决方案:只需在“存档”阶段选择正确的配置文件即可。
经验教训:检查两次配置文件名称!
The same happened to me. My mistake was I had certificates with similar names (like "Provisioning Profile of Giammy", "Profile for Provisioning of Giammy"...).
Running "Archive" from XCode 4.0 and then "Validate..." from the Organizer I faced the "app.ipa does not exist" issue. The problem was that I selected the wrong certificate from those with similar names. The "Archive" phase worked good but the archive did not pass the validation.
Solution: just picked up the correct provisioning profile in the "Archive" phase.
Lesson learned: check twice the provisioning profile name!
确保您使用正确的产品/捆绑包 ID 密钥进行签名。如果我没记错的话,混合起来可能会导致归档问题。
另外,转到该临时文件夹并检查创建的内容。也许 xCode 正在以不同的名称创建 IPA,这可以给您一个提示。
Make sure that you are signing with keys for correct product/bundle ID. If I remember correctly, mixing that up could lead in archiving problems.
Also, go to that temp folder and check what IS created. Maybe xCode is creating the IPA under a different name, that could give you a hint.
我通过从钥匙串中删除所有过期的签名证书解决了同样的问题。 Xcode 似乎只是抓取它找到的具有给定名称的第一个,无论它是否仍然有效。
I solved this same problem by deleting all of the expired signing certificates from my Keychain. Xcode seems to just grab the first one it finds with the given name, regardless of whether it's still valid.
我尝试了一切,包括使用 unix 工具重新安装 xcode4。什么都不起作用。
我认为我不必这样做,因为我可以毫无问题地提交其他应用程序。
我只是在一个特定的项目(来自 xcode3)中遇到这个问题。
我什至从头开始创建一个项目,导入所有代码并再次尝试 - 失败了。
所以这不仅是我的项目,而且是其中的一些东西。
因此,我开始创建一个新项目,添加一些文件,然后提交,然后拒绝找出导致它的原因。到目前为止,这是有效的。
更新:好的 - 它与使用 CorePlot 并将其作为库链接有关。瞧 - 在这里找到了答案。
无法使用 Xcode4 提交包含 CorePlot 的应用
解决方案:提交时选择“不辞职”
I tried everything including reinstalling xcode4 with unix tools. NOthing works.
I assume I shouldnt have to do this as I'm able to submit other apps without issues.
I'm just having this issue with a partiular project (coming from xcode3).
I even created a project from scratch, imported all the code over and tried again - failed.
so it's not only my project but something in it.
So I've started the process of creating a new project, adding some files, then submitting, then rejecting to figure out what's causing it. This is working so far.
update: ok - it has something to do with using CorePlot and linking it in as a library. and voila - found the answer here.
Can't submit app with CorePlot using Xcode4
Solution: when submitting select "Don't resign"
我无法通过更改或修复代码签名身份来解决此问题(在许多情况下,这应该可以解决此问题。简单地重新安装 Xcode 也无法解决此问题。这是我发布此答案时最重要的两个解决方案。
我发现成功地卸载了所有开发人员工具,然后从头开始重新安装。
I was not able to solve this problem by changing or fixing code signing identities (which should resolve this problem in many cases. Nor did simply reinstalling Xcode. These are the top two solutions as I post this answer.
I found success in uninstalling all the developer tools, and reinstalling from scratch.
这是我解决问题的方法:
如果您正在构建存档并且没有看到任何钥匙串确认对话框,您可以在此时停止,因为提交将不起作用。
Here is how I solved it:
If you are building for Archive and you don't see any Keychain confirmation dialog, you can stop at that point because submission is not going to work.
我使用我的工作解决方案 xcode_4.2_and_ios_sdk_5_beta__snow_leopard 确实遇到了同样的问题。
在不同位置安装以前(非测试版)版本的 Xcode 并使用该版本,就是这样,它成功了,我能够将我的应用程序上传到 AppStore,没有任何不便。
问候,
豪尔赫.
i did have this very same issue using xcode_4.2_and_ios_sdk_5_beta__snow_leopard, my working solution.
Install the previous (non-beta) version of Xcode in a different location and work with that version, and that's it, it worked i was able to upload my app to the AppStore without any inconvenience.
regards,
Jorge.
切勿尝试使用您使用 Beta SDK 作为基础 SDK 构建的应用程序来提交。
我通过使用以下命令卸载所有开发人员工具来摆脱这个问题
sudo /Developer/Library/uninstall-devtools --mode=all
然后重新启动我的系统并安装最新的非测试版 XCode 和非测试版 iOS SDK 。
Never try to submit using apps you built using beta SDKs as your base SDK.
I got rid of this problem by uninstalling all developer tools with the below command
sudo /Developer/Library/uninstall-devtools --mode=all
and then restarted my system and installed that latest non-beta version of XCode and non-beta iOS SDK.
您是否一直在/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/SDKSettings.plist 中使用ENTITLMENTS_REQUIRED 属性(假设创建越狱应用程序)?
在这种情况下,请将ENTITLMENTS_REQUIRED重置为YES。
Have you been playing around with the ENTITLEMENTS_REQUIRED attribute at /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/SDKSettings.plist (let say to create jailbroken applications)?
In this case, please reset ENTITLEMENTS_REQUIRED to YES.
对于 xcode 4,我尝试了所有方法,但无法解决此错误,直到
为 Snowleopart 安装 xcode 4.2
如果您在验证页面中看不到您的应用程序图标,则可能是您的 xcode 有错误。
从苹果开发者页面下载 xcode 4.2 并安装。它解决了。
您不需要卸载 xcode 4,只需下载新的 xcode 4.2 并安装即可。
我现在很好
for xcode 4 I tried every thing but I can t solve this error until
install xcode 4.2 for snowleopart
if you cant see your app icon in validation page its can be your xcode have error.
download from apple developer page xcode 4.2 and install. its solved.
you dont need to uninstall your xcode 4 just download new xcode 4.2 and install.
I am very fine now
我的解决方案是:
打开项目中的
info.plist
文件,并在产品名称中写入您的产品名称,而不是$[PRODUCT_NAME]
My solution was:
Open the
info.plist
file in your project and in product name write your products name instead of$[PRODUCT_NAME]
在 Xcode 中出现此错误,但在使用应用程序加载器时没有出现此类错误。通过 Xcode 获取它 ->打开开发者工具->应用程序加载器。确实非常令人沮丧。
Had this error in Xcode, but had no such error when using the Application Loader. Get to it via Xcode -> Open Developer Tool -> Application Loader. Very frustrating indeed.