如何将 Leopard 和 Snow Leopard 支持添加到 Lion Cocoa 应用程序?

Posted

技术标签:

【中文标题】如何将 Leopard 和 Snow Leopard 支持添加到 Lion Cocoa 应用程序?【英文标题】:How do I add Leopard and Snow Leopard support to a Lion Cocoa App? 【发布时间】:2012-07-20 15:44:50 【问题描述】:

我在 Lion 上开发了一个 Cocoa 应用程序,现在我想添加与 Leopard 和 Snow Leopard 的兼容性。

我尝试将开发目标设置为 10.5,但它在 Leopard 和 Snow Leopard 上仍然存在崩溃问题。

我也尝试使用旧版本的 Xcode 打开项目,但出现数百个编译错误(我猜是因为我无法使用旧的 Mac OS SDK 编译程序)

您对解决 Cocoa Apps 的追溯兼容性问题有什么建议吗?

【问题讨论】:

【参考方案1】:

我认为为最新的操作系统开发然后在最后一刻尝试支持旧操作系统通常不是一个好主意。如果您使用的任何 API 在操作系统中引入的时间晚于您尝试支持的最旧版本,则您必须重写代码以避免使用这些 API。这通常不值得麻烦。

也就是说,支持旧操作系统并不是什么秘密。您只需要确保您只使用在您尝试支持的最旧操作系统上可用的 API(类、方法、函数)。在查看每种方法的文档时,您会注意到,在“可用性”下,它会告诉您哪些版本的操作系统包含该方法。比如:

可用性 适用于 Mac OS X v10.6 及更高版本。

假设您不使用任何在您定位的操作系统版本上不可用的 API,您只需将部署目标设置为您定位的最低操作系统,然后进行构建。当然,您还需要在您支持的每个操作系统版本上进行彻底测试。

如果您详细说明您在 Leopard 和 Snow Leopard 上看到的“崩溃问题”,您的问题会更容易回答。

【讨论】:

【参考方案2】:

首先,在您的 Mac 上安装 10.5 SDK。这可能不是必需的,但无论如何都要这样做。您可以在 Internet 上找到说明。请记住,使用 10.5 SDK 编译将确保兼容性,但您将无法使用更新的 OS X 功能,除非您动态加载它们。

其次,进入您的 .xib 文件并在“文件属性”选项卡上(“检查器”窗格中的第一个缺口)禁用自动布局并将部署目标设置为 10.5。

【讨论】:

以上是关于如何将 Leopard 和 Snow Leopard 支持添加到 Lion Cocoa 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何使用帮助:Snow Leopard .help 包中的 URL?

如何在 Snow Leopard 和其他 32 位/64 位问题上强制 Python 为 32 位

Snow Leopard Automator:尝试创建用于转换 Excel 文件的工作流程

NSToolbar 在 Leopard 和 Snow Leopard 中看起来不同

如何删除或停用 Snow Leopard 上的默认 apache2 服务器?

如何停止安装在 Mac Snow Leopard 上的 Jenkins?