在 Xcode 中模拟不同版本的 Mac OS X 的行为

发布于 2024-12-12 09:15:36 字数 592 浏览 0 评论 0原文

为了对我维护的 Mac 应用程序的某些方面进行防弹保护,我引入了一套新的单元测试,围绕代码的保存/加载组件。

测试已编写,并使用正确的 NSFileCoordinator 方法调用在 10.7 Lion 下通过。

但是:如果在 10.6 Snow Leopard 下运行,代码的某些部分将发生分支(并且某些类不可用),并且如果在 10.5 Leopard 下运行,则会进一步分支。

我当前的“测试”策略是对三个操作系统进行三次引导。我在 10.7 中构建和测试,然后重新启动并在 10.6 中构建和测试,然后重新启动并在 10.5 中构建和测试。

正如您可以想象的那样,这会令人沮丧,并且会极大地分散完成工作的注意力。

我的问题:是否有任何商业/已知的方法可以在不同的条件下测试 Objective-C 代码Mac OS X 版本(以及因此不同的行为)而不实际要求该版本的 Mac OS X 是正在运行的版本? (最好不使用虚拟机)

我无法想象 Apple 发布 iPhoto 的新更新并在运行 10.6.0、10.6.1、10.6.2...等的 15 台不同 Mac 上进行测试。

In efforts to bullet-proof a few aspects of a Mac application I maintain, I'm introducing a new suite of unit tests surrounding the saving/loading components of the code.

The tests have been written, and pass under 10.7 Lion using the proper NSFileCoordinator method calls.

But: There are portions of the code that will branch if running under 10.6 Snow Leopard (and some classes are not available), and will branch even further if running under 10.5 Leopard.

My current "testing" strategy is to triple-boot the three operating systems. I build and test in 10.7, then I reboot and build and test in 10.6, then I reboot and build and test in 10.5.

As you can imagine, this gets frustrating and is a huge diversion from getting stuff done.

My Question: Are there any commercial/known methods for testing Objective-C code under different versions of Mac OS X (and thus different behaviors) without actually requiring that version of Mac OS X to be the version running? (Preferably without using a VM)

I have trouble picturing Apple releasing a new update for iPhoto and testing it on 15 different Macs running 10.6.0, 10.6.1, 10.6.2... etc.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文