iOS 4通常是向后兼容的吗?

时间:2011-03-02 12:33:34

标签: iphone ios

我有以下问题,在不久的将来我需要为iPhone编写一些不太复杂的应用程序。我目前没有iPhone,所以我打算购买一个用于测试目的。简而言之,iPhone 4允许我测试为较旧的ios版本编写的应用程序?任何陷阱?或者我是否需要购买较旧的手机/ ipad才能正确进行测试?

6 个答案:

答案 0 :(得分:3)

是的,要进行正确的测试,您需要在您支持的各个设备上进行测试。该文档将告诉您旧iOS版本是否支持您使用的框架/ API。我担心这里会有一些主观的答案,因为我确信有些应用程序最终可以通过模拟器测试在许多版本中运行得很好。在考虑向后兼容性(期望速度,内存使用,API等)时,需要考虑许多因素。你说你的应用程序“不是很复杂”,所以你可能没事。我会在尽可能多的设备上测试你的应用程序。

我还应该区分“将它编译”和“它是否按预期执行”之间存在差异。您可以使用xcode测试应用程序是否与目标和旧版本兼容。在特定设备上进行测试时,将发现应用程序是否按预期运行。

答案 1 :(得分:3)

您无法在iPhone 4上运行iOS 3,因此您必须购买单独的设备。

但是,如果它是一个新的应用程序,我不会考虑使其与iOS3兼容。大多数用户已经升级到iOS4。当您的应用程序在商店中时,运行iOS3的用户将更少。

当然,这将删除0.5%的潜在客户。但如果您只能从运行iOS3的0.5%客户那里获得10美元的收入,那么您不想以100美元购买另一台设备。而且你必须再次测试你的整个应用程序,这将花费大量的时间。

所以你应该考虑放弃对iOS3的支持。

答案 2 :(得分:1)

答案 3 :(得分:1)

它允许您测试针对旧iOS版本的应用,是的。

与第一代iPhone / iPod touch等老款iDevices的性能差异非常显着。因此,如果您的应用程序需要昂贵的计算等,我建议您购买较旧的旧设备,以便在这一代硬件上获得性能感受。

请注意,如果您需要确保您要开发的应用程序将在非常旧的设备/ iOS版本上运行,您可能需要不使用一些需要更新版本的iOS的可可类和方法

答案 4 :(得分:1)

如果您购买iPhone 4用于测试目的..您正在测试市场上的最新iPhone,这并不意味着您的应用已准备好自动定位低端设备。

让我们深入了解一下:如果您设计的应用程序必须看起来非常华丽,并且在iPhone 4上开箱即用,那么您可能会使您的应用与Retina显示屏兼容。这就像玩960x640分辨率的屏幕。

现在,如果你计划以低端设备为目标,例如iPhone 3GS,那么你所要做的就是将图形资产的大小减少一半,因为iPhone 3GS是320x480

就是这样!您的应用程序也可以从外观和感觉角度为低端设备做好准备。

现在,让我们从部署角度来看。如果您的SDK是4.2.1并且您的目标是运行3.3的设备,那么您所要做的就是确保您不使用iOS 4.2.1中引入的最新库/类,因为它们赢了“适用于在iOS 3.3上运行的设备。如果您负责这部分,您的应用程序几乎已准备好发货。

从市场角度来看。我看到所有出色的应用程序都将其部署目标设为iOS 4.0或更高版本。这意味着,它们仅针对运行iOS 4.0或更高版本的设备。

我认为,在iPhone 4设备上运行成功的测试周期后,您可以尝试在低端iPhone模拟器中构建。 :)

答案 5 :(得分:0)

iPhone通常不向后兼容。有时会添加方法,属性,类等,或者旧的已弃用。 为了进行测试,我建议您使用具有不同iOS版本的多个设备,具体取决于您要发布的目标iOS版本。

同时检查iOS Reference Library:在每个功能等的“可用性”下注明,因为它可用时