使用iOS 4.0 SDK和设备开发iOS 3.1应用程序?

问题描述:

我为iOS部署目标3.2开发了一个iPhone应用程序。使用iOS 4.0 SDK和设备开发iOS 3.1应用程序?

但我的客户改变了主意,并希望应用程序可用于iOS 3.1。 因此,我设置了iOS部署目标3.1,并将基本SDK保留为4.0,但一切都编译良好,但我确信我只使用iOS 3.2中引入的方法和类。

如何识别我的代码不会在3.1设备上运行? (并可能导致应用程序崩溃)

我的问题是,我有一个iPhone设备(4.0.2安装),SDK 3.1.x不再由Xcode提供。

+0

检查此问题上的链接为3.1.3 sdk http://*.com/questions/3161385/install-xcode-3-2-3-w-iphone-sdk-4-get-base-sdk -missing-cant-see-other-sdks/3161502#3161502 – Remover 2010-09-12 12:01:47

亨利,这可能会帮助你:安装旧的xcode & sdk并行到新的。链接到旧的SDK可以在这里找到: http://iphonesdkdev.blogspot.com/2010/04/old-versions-of-iphone-sdk.html

希望,那就是你想要的。

+0

太棒了!这就是我想要的! – 2010-09-22 12:18:45

您是否也检查过警告?如果没有找到选择器,那么它将编译,但可能会给你一个警告,说找不到匹配的选择器或类似的东西。你说你确定你已经使用了> = 3.2的东西。你不知道他们是什么吗?

+0

我检查过警告,但它们只是相对于基础SDK(即4.0)。 – 2010-09-07 12:39:48

+0

我已经确定了> = 3.2(例如MPMoviePlayerViewController)的类,但我想找到一种方法来100%确保不会忘记应用程序中的任何内容。 – 2010-09-07 12:40:41

+0

您可以将基础SDK更改为3.1吗?我不是100%确定它是否会有帮助。 – taskinoor 2010-09-07 13:42:45

确保您的应用程序可以在运行3.1的设备上工作的唯一方法是在运行3.1的设备上对其进行测试。这同样适用于较旧的(iPhone 3GS之前版本)硬件。我在商店看到太多的应用程序,这些应用程序只能在较新的设备上进行清楚测试,并且在较旧的硬件上出现内存不足或耗尽的情况。如果您不支持该硬件,那么请将您的Info.plist设置为不适用于这些设备。

无论你认为你已经检查了更新的方法和类有多彻底,你仍然可能遇到微妙的问题。例如,即使您没有使用任何新的API,您可能也可能不需要弱化某些框架的链接,或者您的应用程序会在较早的操作系统上崩溃。

在eBay上,较旧型号的iPod touch价格便宜,如果已经安装了4.0版本,可以将其降级到较旧的操作系统版本。或者,您可以找到某个设备运行较旧的操作系统版本,并向其发送应用程序的临时构建以进行测试。这是不太理想的,因为您需要将乐器连接到设备,以确保内存使用情况不会过于接近旧设备上的危险区域。

对不起,但这是唯一确定的方法。正如另一位开发人员对我说的,“如果您没有在特定的操作系统版本或设备上进行测试,请考虑您的应用程序无法在那里运行。”

+0

我50%同意你:)由于编译工具不够,我认为测试还不够。您需要测试和编译工具来提供一种方法来确保应用程序的质量。这就是为什么我现在正在寻找一个3.1版本的iOS SDK,它不是从Apple网站当前的Xcode下载中提供的。我怎样才能得到一个旧的3.1 SDK? – 2010-09-10 13:24:04