我可以构建4.x模拟器,但可以在3.x模拟器中运行吗?

时间:2010-11-07 19:05:25

标签: iphone-sdk-3.0 ios ios4 ios-simulator

好的,之前有一些问题暗指这一点,我甚至已经阅读了一些关于人们成功做到这一点的二手报道,但到目前为止我还没有找到具体的答案。

基本上,我想使用iOS 4.x为模拟器构建一个应用程序,然后在3.x模拟器上运行它。

我安装了两个SDK,所以我需要的是让应用程序显示在3.x模拟器中的最后一英里。

我尝试将应用程序从库/应用程序支持/ iPhone模拟器/ 4.2 /应用程序复制到库/应用程序支持/ iPhone模拟器/ 3.0 /应用程序,但是当我加载3.x模拟器时它不会显示。有一个名为applicationstate.plist的二进制plist,我猜它会跟踪模拟器上安装的应用程序,但我不知道二进制格式是什么,所以我有点卡在这一点上。

有没有人设法将4.x应用加载到3.x模拟器上?如果是这样,你是怎么做到的?

2 个答案:

答案 0 :(得分:0)

为什么你甚至试图这样做?你想要实现什么目标?如果您真正想做的是确保该应用程序在iOS 3.x上运行,那么只需在xcode中说明并且不要担心实际的模拟器。只要您在xcode的项目设置中将“iOS部署目标”设置为“3.0”,模拟器就可以运行iOS 5.0。这将确保应用程序与iOS 3.x及更高版本兼容。显然,当你在iOS 3.x设备上运行时,你仍然需要确保你没有调用SDK 4.x中的方法。如果那是你想要测试的,那么你所做的事情实际上并不起作用。您应该(正如Apple建议的那样)始终抓住运行目标固件版本的真实设备并对其进行测试。例如,使用iOS 3.x获取旧iPod,并尝试在其上测试您的应用程序,以确保在较旧的固件下运行时未调用iOS 4.x方法。

答案 1 :(得分:0)

答案是:不,你不能为4.x模拟器构建并在3.1.x模拟器或更早版本上运行,因为模拟器的工作方式发生了根本性的变化。

测试3.x支持的唯一方法是在3.x设备上运行它(在设置最小部署目标之后),或者在支持3.x模拟器的旧xcode上构建(如果你使用Xcode 4,iPad 3.2除外。

注意:设置部署目标不会测试与旧操作系统的兼容性。它实际上是运行的操作系统(例如“iPhone 4.3模拟器”,“iPhone 4.0模拟器”,“iPad 3.2模拟器”或实际设备)。

当然,现在3.x用户占总人口的比例不到10%,不再支持它就不值得了。