如何提交兼容 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 应用程序