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

好吧,之前有一些问题暗指这个,我甚至读过一些关于人们成功做到这一点的二手报告,但到目前为止我还没有找到具体的答案。 基本上,我想使用iOS 4.x为模拟器构建一个应用程序,然后在3.x模拟器上运行它。 我安装了两个SDK,所以我需要的是让应用程序显示在3.x模拟器中的最后一英里。 我尝试将应用程序从库/应用程序支持/ iPhone模拟器/ 4.2 /应用程序复制到库/应用程序支持/ iPhone模拟器/ 3.0 /应用程序,但是当我加载3.x模拟器时它不会显示。有一个名为applicationstate.plist的二进制plist,我猜它会跟踪模拟器上安装的应用程序,但我不知道二进制格式是什么,所以我有点卡在这一点上。 有没有人设法将4.x应用程序加载到3.x模拟器上?如果是这样,你是怎么做到的?     
已邀请:
你为什么要尝试这样做?你想要实现什么目标?如果您真正想做的是确保该应用程序在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方法。     
答案是:不,由于模拟器工作方式的根本变化,你不能为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%,因此支持它并不值得。     

要回复问题请先登录注册