Lion 10.7.3:Apple 目前不接受使用此版本操作系统构建的应用程序

Posted

技术标签:

【中文标题】Lion 10.7.3:Apple 目前不接受使用此版本操作系统构建的应用程序【英文标题】:Lion 10.7.3: Apple is not currently accepting applications built with this version of the OS 【发布时间】:2012-02-11 20:16:16 【问题描述】:

我在 Lion 10.7.2 上运行 Xcode 4.2,并且我有一些应用程序需要更新到 Lion 沙箱,因此我可以将它们重新提交到 Mac App Store(Mac,而不是 ios)。一路上,我有一个弹出窗口要更新到组合更新 10.7.3,然后一切都出错了。

如果存档是在 10.7.2 中编译的,则验证和提交应用程序很好,但如果它是在 10.7.3 更新后编译的,则它无法再验证应用程序。没错,在 10.7.3 下我仍然可以验证应用程序是否在升级之前编译。之后编译的任何内容都会给我这个:

“此捆绑包无效。Apple 目前不接受使用此版本操作系统构建的应用程序。”

在以下每次尝试之后,我已清理、重建存档,并再次尝试通过 Xcode Organizer 和 Application Loader 独立验证或提交应用程序:

我尝试通过完全卸载升级到 Xcode 4.2.1, 重新启动并安装,但没有。

我阅读了this similar thread 并尝试使用新的应用程序 加载器 2.5.1 并确保没有其他应用程序加载器 系统,但这也不起作用。应用程序 加载器通过 Xcode 和独立运行给出相同的 错误。

来自 another thread 已尝试将基础 SDK 更改为 10.7。一世 之前是 10.6,所以我仍然可以支持雪豹,是的 您可以提交针对 10.6 构建的沙盒应用程序,这些应用程序可以在两个 Lion 中运行 沙盒和 SL 非沙盒 because I've done it 有两个 最近的应用程序)。不幸的是,使用 10.6 或 10.7 SDK 构建会使 与此错误没有区别。

我了解到,当开发人员尝试提交基于 beta 平台构建的应用程序时,也会发生同样的错误,但我没有运行任何 beta 版本,自从我 8 月购买这台 MacBook 以来,我过去也没有运行过。

任何想法将不胜感激。提前致谢。

【问题讨论】:

这里有同样的问题。刚更新到 10.7.3 什么都不能提交。 【参考方案1】:

好的,我让它以一种完全不安全的方式工作......所以我真的不能说这是解决这个问题的好方法。

无论如何:

我查看了 SystemVersion.plist,发现我们为 10.7.3 构建的版本是 11D50b(b 当然是测试版)。当然,10.7.3 并没有被宣传为测试版……如果是,我就不会升级了。

基本上我将 /System/Library/CoreServices 中的 SystemVersion.plist 更改为:

Build Number: 11C74
ProductUserVisibleVersion: 10.7.2
ProductVersion: 10.7.2

您可以在更改权限后使用 TextEdit 执行此操作,或者如果您熟悉 nano,只需:

sudo nano /System/Library/CoreServices/SystemVersion.plist

与往常一样,使用 sudo 做任何事情时要格外小心。

从那里,我重新启动了 Xcode(确保你这样做,我尝试不重新启动 Xcode,但它不起作用),清理,存档,然后能够成功提交。

在这之后,我立即关闭了 Xcode,并确保将所有内容都改回原来的样子:

Build Number: 11D50b
ProductUserVisibleVersion: 10.7.3
ProductVersion: 10.7.3

我绝对不会尝试重新启动或任何类似的有趣的事情,不知道会发生什么。但这对我有用。

【讨论】:

这很脏,但我很高兴它对你有用。既然您已经指出 10.7.3 是一个测试版,我真的很担心针对系统库进行编译,这些系统库在操作系统的下一个稳定版本中可能会有所不同。您可能已经欺骗了应用程序加载器,但可能存在一些兼容性问题的风险。虽然,如果没有 API 更改应该没问题,也许...我不熟悉 Mac OSX 上共享对象的版本依赖关系。 我厌倦了它,它有效,谢谢! 11D50b 不是测试版,它是第二个安静的版本。删除 b 不起作用。必须如上!【参考方案2】:

2012 年 3 月 12 日编辑: 我使用付费支持票直接联系了 Apple。事实证明,这是 Mac App Store 中的一个错误。他们的团队已经解决了这个问题。现在应该可以使用 11D50b 提交了。

使用 Xcode 4.3 解决 OS X 10.7.3 上的问题

您需要更改 SystemVersion 文件,这可以通过以下命令完成 sudo nano /System/Library/CoreServices/SystemVersion.plist (ctrl o, 保存)

我当前的文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
    <key>ProductBuildVersion</key>
    <string>11D50b</string>
    <key>ProductCopyright</key>
    <string>1983-2012 Apple Inc.</string>
    <key>ProductName</key>
    <string>Mac OS X</string>
    <key>ProductUserVisibleVersion</key>
    <string>10.7.3</string>
    <key>ProductVersion</key>
    <string>10.7.3</string>
</dict>
</plist>

将 11D50b 更改为 11D50,重新启动 xcode 并清理您的代码。然后再次提交。 提交后记得把文件改回原来的。

【讨论】:

感谢您投入时间和金钱为 Apple 提供合法的解决方案。我希望他们退款给你,因为这是他们的问题;基本上报告每个人都遇到的错误不应该花费 50 美元。【参考方案3】:

好吧,我也遇到了同样的问题,我也已经安装了 Xcode 4.3,因为我希望这会解决这个问题。 Xcode 4.3 需要 10.7.3,因此无法将 SystemVersion.plist 更改为 10.7.2,但只需删除 11D50b 末尾的 b 并重新启动 Xcode 即可提交我的应用程序。

【讨论】:

这对我来说也适用于 10.7.3 和 Xcode 4.3。请注意,它是“11D50b”而不是“10D50b”。【参考方案4】:

使用以下命令编辑 plist 文件的值以将您的 OSX 版本升级到 10.7.4

sudo nano /System/Library/CoreServices/SystemVersion.plist 原值:

版本号:11D50 ProductUserVisibleVersion & ProductVersion:10.7.3 新价值

内部版本号:11E27 ProductUserVisibleVersion & ProductVersion:10.7.4 Ctrl+O 保存,现在可以安装最新的 XCode

http://cocoauser.wordpress.com/2012/08/03/how-to-install-latest-xcode-in-10-7-3-lion/

【讨论】:

【参考方案5】:

和 incarna 一样,我没有解决方案,但我有一个解决方法,可以让我提交到商店。这样做可能更安全,因为不涉及欺骗。这仅在您为 10.6 构建时才有用,但您仍然可以implement the 10.7 sandbox and keep Snow Leopard compatibility。

如果您有另一台装有 Snow Leopard 的 Mac,或者碰巧使用 SL 进行双启动,您可以安装 Xcode 4.2 for SL。顺便说一句,使用 SL 进行双启动很棘手,因为 SL 安装盘无法识别 Lion 机器上的分区方案。我不得不使用另一台 Mac 的火线并以目标模式将其安装到 MacBook。这是我之前第一次拿到 MacBook 时所做的事情。如果你想知道怎么做,请谷歌一下。

无论如何,我将项目复制到 SL 分区并在 Xcode 4.2 中打开它。您会注意到的一件事是 GUI 不包含权利或沙箱复选框选项,但您仍然可以在项目中看到权利和容器迁移 plist 文件(假设您之前在 Xcode 中的 Lion 下设置它)。我猜即使没有 10.7,在 SL 下使用 Xcode 4.2 的编译器仍然知道如何处理这些文件。

我在 SL 中重新编译了 Xcode 4.2 下的项目并验证了存档。都好。然后我将应用程序作为 .pkg 文件共享,并将其保存到我的 Lion 分区。我安装了 .pkg 并在 Lion 中运行了我的应用程序。沙盒容器确实正确迁移并且应用程序按预期运行。在验证它有效后,我重新启动到 SL 并提交了应用程序。

你有它。证明沙盒应用程序可以在 SL 中编译和提交,SL 仍然是一个有效且合法的交付平台。

【讨论】:

【参考方案6】:

只是一个快速更新,在 Xcode 4.3 后重新启动 Xcode 将不起作用,因为它检测到只能在 10.7.3 上运行但按照说明更改 plist 文件,然后清理、归档和分发似乎工作。我目前正在等待我的应用获得批准。

【讨论】:

以上是关于Lion 10.7.3:Apple 目前不接受使用此版本操作系统构建的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

NSSetUncaughtExceptionHandler 在 Lion 10.7.3 上不起作用

此捆绑包无效。 Apple 目前不接受使用此版本 SDK 构建的应用程序

应用更新提交 - Apple 目前不接受使用此版本的 SDK、Xcode 构建的应用

在 OSX Lion 10.7.3 上安装 pyUSB 0.4.3

Apple 目前不接受使用此版本 xCode 4.3 构建的应用程序

错误 ITMS-9000:“此捆绑包无效。Apple 目前不接受构建的应用程序