- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在深入研究 iOS 开发,我正在构建一个支持 iOS 3.2 到 4.2 版本的简单应用程序。我已经在 4.2 模拟器上的最新版本的 Xcode 中很好地测试了它,但我还想模拟它在 iOS 3.2 设备上运行。在阅读了一些关于此的教程之后,我设法下载并安装了旧版本的 xcode 以及旧的 3.2 SDK,但是当我在旧版本的 Xcode 中构建我的项目时,由于所有 iOS 4.2,我遇到了很多错误旧版本的 Xcode 不支持的功能。我正在弱链接所有 4.2 框架,但我仍然遇到错误。我怎样才能让我的 4.2 应用程序在这个旧版本的 Xcode 中成功构建并让它在 3.2 iPhone 模拟器中运行?
非常感谢您的智慧!
最佳答案
您需要在引用仅存在于 4.2 上的功能的任何行周围添加 #ifdef __IPHONE_4_2
...#endif
。这样 3.2 编译器将构建您的应用程序,就好像这些行不存在一样。
你需要非常小心地组织这些语句,使它们准确地反射(reflect)在 3.2 上运行 built-for-4.2 构建时将被禁用的代码位,否则没有太多意义。
这将在不包含任何 4.2 功能的情况下构建您的应用程序,因此它实际上并没有测试您的弱链接等是否正确,它只是测试后备 3.2 代码的工作方式。
它可能会针对 3.2 中不存在的功能/方法发出一些警告。确保这些已添加适当的后备代码。
(顺便说一句,众所周知,Apple 会拒绝 Base SDK 为 3.2 的 iPhone 应用程序。如果您回到 4.0 之前,则需要至少支持 3.1.3)
关于iphone - iOS 开发 : How can I run my iPhone 4. iPhone 3.2 模拟器上的 2 个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4561745/
我是一名优秀的程序员,十分优秀!