捆绑包无效 Mac OS X
Posted
技术标签:
【中文标题】捆绑包无效 Mac OS X【英文标题】:The Bundle is Invalid Mac OS X 【发布时间】:2011-07-12 21:10:35 【问题描述】:我在将应用上传到应用商店时遇到问题。每次我将应用程序上传到苹果时,它都会说 Invaild Binary 所以我尝试在 Xcode 管理器中验证存档的应用程序,但我收到了这个错误: 此捆绑包无效。 Apple 目前不接受使用此版本 SDK 构建的应用程序。
这是否意味着该应用是第一次在太旧的 xcode 版本中创建的?我目前正在运行 Xcode 4.1,但我不记得第一次创建该应用的版本是什么,因为这是我之前尚未完成的早期项目之一。
有没有办法在我不必重新创建整个项目的情况下解决这个问题?
提前感谢您!
【问题讨论】:
【参考方案1】:您首先应该检查的是您正在构建的基础 SDK。为此,请在 Project Navigator 中选择您的项目并从左侧窗格中选择您的目标,然后选择转到 Build Settings 选项卡。
如果您有一个不需要 10.6 的旧项目,您会发现您需要将 XCode 中的 Base SDK 升级为“Mac OS X 10.6”或“最新 Mac OS X”才能获得进入 App Store。
如果您仍然希望能够在 10.5 下运行,则基本上需要一个单独的二进制文件,但您可能能够摆脱针对 10.6 SDK 构建然后将“Mac OS X 部署目标”设置为10.5,虽然我不确定这一点。如果您只关心通过 App Store 分发,请将其设置为 10.6 或编译器默认值。
【讨论】:
将部署目标设置为较旧的 Mac OS 版本应该可行 — 这是使 ios 应用程序与较旧的系统版本兼容时使用的方法。【参考方案2】:只需在此处添加我的答案,以防将来对其他人有所帮助。我正在为 10.6、i386 和 x86_64 构建,当时 10.7.1 是当前版本。
原来我其实已经安装了10.7.2(修复锁屏bug)beta,编译的OS版本被添加到Info.plist中:
<key>BuildMachineOSBuild</key>
<string>11C55</string>
这就是我收到“此捆绑包无效”的原因。即使我的 SDK 设置和架构都是正确的。
现在,您可以通过编辑 /System/Library/CoreServices/SystemVersion.plist 来覆盖版本,但我敢肯定,如果 Apple 发现,他们会“有点生气”。
【讨论】:
【参考方案3】:今天刚遇到同样的问题。显然您目前无法从 Mac OS 10.7.3 提交,但必须使用 10.7.2 或更低版本(不确定低多少 :)。我还必须使用 Application Loader v2.5.1 (235)。
希望能帮助到那里的人!
【讨论】:
以上是关于捆绑包无效 Mac OS X的主要内容,如果未能解决你的问题,请参考以下文章
此捆绑包无效。 Apple 目前不接受使用此版本 SDK 构建的应用程序
使用 Ruby On Rails 4.2.5.1 我可以 gem install therubyracer 但捆绑包在 OS X 10.11.1 上失败