iphone - iOS 开发 : How can I run my iPhone 4. 2 iPhone 3.2 模拟器上的应用程序?

标签 iphone xcode ipad 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 上运行针对 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. 2 iPhone 3.2 模拟器上的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4561745/

相关文章:

ios - 为什么在 Xcode 11 上,UICollectionViewCell 一旦滚动就会改变大小(我已经在 sizeForItem AtIndexPath :)? 中设置了大小

iphone - 网站上的 Twitter feed 无法在 iPad、iPhone 和类似设备上运行

iphone - UIAPickerWheel 不工作

iphone - CGImageGetBytesPerRow() 在 iOS 模拟器和 iOS 设备上返回不同的值

iphone - 提取NSCFConstantString的第一项

ios - 在我的 iOS 应用程序中访问设备的所有照片

objective-c - 在 Xcode 4.3 中设置属性值不固定/viewDidLoad 被多次调用

xcode - cmake 生成的 Xcode 项目 - 发布构建有效,但归档因链接器错误而失败

javascript - Ipad:window.height() 在 Safari 中给出错误值,但在 Chrome 中则不然

iphone - 使用 NSURLConnection 下载大尺寸(以 MB 为单位).txt 文件