无效的二进制错误 [英] Invalid Binary Error
问题描述
今天早上提交了我已经存在的应用程序的更新.更新非常小,几乎没有进行任何更改.Apple 现在给我发送了这封电子邮件,说明..
必须纠正以下问题:...
无效的包结构 - 您的包包含具有以下问题的包:IPA 包不包含有效负载目录.
我该如何解决这个问题?
好吧,我的回答已被删除,因为它不是问题的答案.我没有足够的分数来评论你的问题(这就是我试图做的,因为我显然没有答案——和你一样的问题,并试图弄清楚为什么我们会收到这个无效的二进制错误)>
正如我在第一篇博文中所说:我会及时通知您.今天,我创建了一个新的 Xcode 项目,其 bundleID 与我尝试上传一周的应用程序相同.它通过了服务器端预验证,我收到了一封邮件,上面写着正在等待审核".它回答了我从一开始就有的一个问题:这不是服务器问题(我认为 Apple 在预验证过程中存在一些问题).我尝试在这个新项目中使用架构(例如,由于与第三方库的某些不兼容,我仅将 armv7 arch 用于我的应用程序).仍然通过服务器验证.
然后,我尝试将 Info.plist 文件从我的应用程序复制到通过服务器验证的新示例项目:BANG -> Invalid Binary!!这个 info.plist 已经很老了,从 Xcode 3.0 开始使用我试图从中删除一些可选键:仍然无效的二进制文件然后,我将原始密钥和所需密钥与新项目的 info.plist 文件进行了比较:砰!CFBundleInfoDictionaryVersion"值为空.在新项目中,该值为6.0".我只是为 CFBundleInfoDictionaryVersion 键和繁荣设置了6.0",它起作用了.我的猜测是 Apple 的服务器正在检查 info.plist 文件并且需要一个正确的 CFBundleInfoDictionaryVersion 值才能读取 .plist 文件.而且我认为自 Xcode 5.1.1 以来就不会发生这种情况,他们必须在 Xcode 5.1.1 的发布中更新他们的服务器,仅此而已.
天哪,我简直不敢相信这有多愚蠢.遗憾的是,Apple 没有提供全面的反馈.希望它对你有用!让我知道!
An update for an already existing app I have was submitted this morning. The update was very minor barely any changes were made. Apple has now sent me this email stating..
the following issues must be corrected:..
Invalid Bundle Structure - Your package contains a bundle with the following issue: IPA bundle does not include a Payload directory.
How do I fix this?
Ok, my answer has been deleted because it was not an answer to the question. I do not have enough points to comment your question (that's what I tried to do because I obviously don't have the answer — just the same problem as you and trying to figure out why we're getting this Invalid Binary error)
As I said in my first post: I'll keep you up to date. Today, I created a new Xcode project, with the same bundleID as the app I try to upload for a week now. It passes through the server-side pre-validation and I received a mail saying it's "Waiting for Review". It answers one question I had since the beginning: It's not a server problem (I thought Apple had some issues with the pre-validation process). I tried to play with architectures on this new project (for example, I only use armv7 arch for my App because of some incompatibility with third-part libraries). Still passes the server validation.
Then, I tried to copy the Info.plist file from my app to the new sample project which passes the server validation: BANG -> Invalid Binary!! This info.plist is quite old, used since Xcode 3.0 I tried to remove some optional keys from it: still invalid binary Then, I compared the original and needed keys with a new project's info.plist file : bang! The "CFBundleInfoDictionaryVersion" value was empty. On a new project, the value is "6.0". I simply set "6.0" for CFBundleInfoDictionaryVersion key and boom, it worked. My guess is that Apple' servers are checking the info.plist file and needs a proper CFBundleInfoDictionaryVersion value in order to read the .plist file. And I think it's not happening since Xcode 5.1.1, they must have updated their server among with the release of Xcode 5.1.1, that's all.
Jeez, I can't believe how dumb it was. It's a shame that Apple does not provide a comprehensive feedback. Hope it will work for you! Let me know!
这篇关于无效的二进制错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!