如何提交兼容 10.6 的 OSX 10.7 应用程序?

Posted

技术标签:

【中文标题】如何提交兼容 10.6 的 OSX 10.7 应用程序?【英文标题】:How to submit a OSX 10.7 application compatible with 10.6? 【发布时间】:2011-08-15 10:05:14 【问题描述】:

我想构建一个 OSX 应用程序,该应用程序将使用一些新的 10.7 SDK 功能(更具体地说,是应用内购买)。但是我不想完全阻止 10.6 用户安装应用程序。

我怎样才能让 10.7 用户可以访问新功能,而 10.6 用户根本没有新功能但仍然可以使用基本功能?

当我为 10.6 编译时,它不会像预期的那样加载具有“InApp”的 SDK。而且我想如果我为 10.7 用户编译将无法从 AppStore 安装它。

【问题讨论】:

【参考方案1】:

您可以使用these 方法之一来确定用户的操作系统版本,然后如果他们正在运行 Lion,则运行代码,如果不是,则不运行它(使用 if 语句)

编辑:您还必须弱链接 storekit 框架

【讨论】:

【参考方案2】:

不确定这是否有帮助,但对于较新的 API(例如仅适用于 Lion 的 API),我只需使用带有 respondToSelector 的 IF 语句:

这是 Apple 建议的方法之一,您不必在运行时了解特定的操作系统。

【讨论】:

【参考方案3】:

您能否创建一个可以加载并提供 10.7 功能的捆绑包?您的真实应用程序可以检查它在哪个操作系统下运行,而不是加载 10.7 包。我不知道这是否可行,因为 10.7-SDK 包拒绝加载 10.6 SDK 应用程序并非不合理。

另一种可能性是在后台有两个应用程序,并且有一个非常小的 shell 应用程序(甚至可能是一个脚本)来检测主机操作系统并执行操作系统正确的可执行文件。

【讨论】:

这些方法是否与 AppStore 提交兼容? 对不起...我不知道。我不知道AppStore资格的细节。我只是想考虑技术问题,而不是商业/政治问题。

以上是关于如何提交兼容 10.6 的 OSX 10.7 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Core Data Macos 应用程序和与 OS X 10.7 的兼容性

如何在 OSX 10.7 上打包 ruby​​ shoes 应用程序

Xcode 5 上的目标 OS X 10.7+

在 10.6 上测试 Mac OS X 10.7 特定代码时出现“未找到符号”崩溃

如何调试旧版Mac OS X的应用程序?

NSPopover 和雪豹