我在 iOS 上也遇到过这个烦人的问题。在 iOS 上实际上更烦人,因为用户必须在发送崩溃报告之前将他们的设备与 iTunes 同步并启用崩溃报告发送,这与 Mac OS X 不同的是,您不需要做所有这些。最近,我设法添加了一个编译时检查,用于检查 API 与旧版本的 SDK。我将首先解释我是如何在 iOS 上做到这一点的,然后尝试帮助你在 Mac OS X 上适应这种技术。我没有为 Mac atm 编写太多代码,所以我只能根据我的经验真正引导你朝着正确的方向前进使用 iOS,但我将在今天晚些时候测试我的建议,一旦我下班并给出明确的答案。
所以这就是我为 iOS 所做的:
我首先必须获得我想要获得的旧版Simulator SDK。我可以通过下载包含所需 SDK的旧 Xcode 3 (不是 4)版本轻松获得此功能。
接下来我必须安装 SDK。这不是太难,所以我不会在这里解释太多。但是 SDK 存储在Packages
文件夹中。此文件夹在早期 Xcode 3 版本中清晰可见,但在更高版本中隐藏。无论如何,您都可以通过终端轻松打开它。此外,在 Xcode 4.3 中Developer
文件夹移动到 Xcode.app 中的更改之后,我不得不将 SDK 安装到 tmp 文件夹中,然后自己将 SDK 移动到 Xcode.app 中。如果我打开它,我将需要重新启动 Xcode。
之后,我debug
在您的项目中复制了我的配置并将其命名,在我的情况下,类似iOS 4.3 API Check
或类似的东西 - 并不重要。然后我将这个新配置的 Base SDK 更改为我安装的旧 SDK。虽然我安装的 SDK 没有列出,所以我不得不other
再次选择并输入iphonesimulator4.3
.
最后,当我需要检查旧版本的 SDK 时,我将Run <appname>.app
项目方案中的配置更改为我的iOS 4.3 API Check
配置。我们开始了,针对 iOS 4.3 的编译时检查。
至于 Mac OS X,我相信你可以用同样的方法达到同样的目标。Mac SDK 没有模拟器,所以我认为常规的 SDK 可以解决这个问题。至于获取旧版 SDK,如果您仍然安装了 Xcode 4.2(在 Xcode 4.3 更改它之后,该Developer
文件夹位于 Xcode.app 中),那么您应该在那里找到 10.6 SDK。如果你不这样做,我想苹果有一个与 iOS 类似的东西,可以在开发中心或互联网上的某个地方下载 SDK ......
至于设置 Base SDK,如果它没有列出,那么我认为它的名称是MacOSX10.6
或者你所追求的任何版本。
其他一切都应该相同,但如前所述,我将在今天晚些时候测试此方法并编辑我的答案以给出更明确的答案,但我想这种方法适用于 Mac SDK。