支持传统的iPhone用户

时间:2010-06-21 21:23:30

标签: iphone ios4

现在可以下载iPhone SDK 4.0,很快就会有消费者可以使用iOS 4.0,开始使用4.0操作系统中的新功能是否有意义?

我主要担心的是,使用4.0功能要求最终用户也将他们的手机/ iPod更新为4.0。虽然这个过程非常简单,但大多数用户更新是否合理?应用程序本身并不需要在新操作系统中引入任何内容,但现在“劝阻”一些传统的动画技术,而不是基于块的对应物。这对我来说很好,我更喜欢使用块方法,但我担心这对最终用户来说是个麻烦。

那么这方面的一般经验是什么?您是否能够获得最新最好的产品或坚持使用当前版本?

P.S。这假设 GM 在最终用户可用时安装操作系统 - 而不是测试版。

8 个答案:

答案 0 :(得分:22)

这取决于。您有至少3个选项,最好的方法取决于您的应用程序的要求:

  1. 您的应用不需要任何iOS 4.0 API - 您应该使用BaseSDK 4.0构建,但将Target Deployment设置为您必须拥有的最低版本(即:3.0)。
    优势:(1)您的应用程序可在至少具有该目标部署版本的任何设备上运行;(2)它将支持在具有iOS 4.0的设备上进行快速App切换。 缺点:在目标部署版本之后,您无法使用任何API。

  2. 您的应用程序在使用4.0 API时会更好,但如果没有它们仍然可以使用 - 如果您可以通过在iOS 4.0之前的设备上提供减少的功能或通过提供减少的功能来有条件地使用4.0 API在4.0之前的设备上使用不同的API时提供类似的功能,然后您可以使用BaseSDK 4.0进行构建,将Target Deployment设置为您必须具有的最低版本(即:3.0)并有条件地使用iOS 4.0 API调用。 优点:您可以在至少拥有最低iOS版本的所有设备上运行。 缺点:所有这些条件调用都会变得复杂。

  3. 您的应用需要一些iOS 4.0 API才能运行 - 您别无选择。使用BaseSDK 4.0构建,设置Target Deployment 4.0并使用这些4.0 API 优势:代码更简单,iOS版本没有条件 缺点:您的应用程序还不能在iPad上运行(它们在“2010年秋季”中获得4.0),您的应用程序将永远不会在早于3G的iPhone上运行(它们不会获得4.0)和一些iOS 4.0功能无法在iPhone 3G上运行。

  4. 在所有情况下,您的Base SDK将为4.0,您的目标部署将是您所需的最低限度,如果您需要更新的API,您可以在设备拥有它时有条件地使用它。

    只需使用BaseSDK 4.0进行编译,即使您不使用任何4.0功能,也可以在4.0设备上快速切换应用程序。所有应用程序至少应该这样做,即使他们的目标是iOS 2.0。如果您不需要4.0功能,请不要使用它们,并且可以定位更广泛的旧设备和尚未升级的设备。

    recent answer on SO总结了如何为BaseSDK和Target Deployment执行此设置,以及如何有条件地使用API​​来定位多个固件版本。

答案 1 :(得分:4)

推荐的配置是将Base SDK设置为最高(即4.0),将Deployment Target设置为适当的版本(取决于您的应用中使用的框架功能)。

当然,应用程序可以随时检查操作系统版本并跳过对不支持的框架的调用。这是构建iPad和iPhone通用应用程序的常用技术。

答案 2 :(得分:1)

我个人通常会针对一个主要版本(即目标3.1而不是4.0),通常会给我一个“你去年更新手机吗?”的窗口。但是,根据您的应用程序,您可以使用多任务处理或仅在4.0中的其他功能。然后,这是您认为用户想要的东西的问题。如果你认为他们可以等一下,看看情况如何;如果您发现很多用户正在快速迁移到4.0,那么就推出您的更改。

答案 3 :(得分:1)

在我看来,如果你可以等几个月让人们过渡到4.0,那么稍等一下,否则只需继续使用4.0功能。

根据我之前几年的统计数据,2.0版和3.0版升级需要一年多的时间才能完成,但主要是iPod touch用户,因为Apple收取了10美元的费用。

我希望4.0的采用率会快得多,但请记住,第一代iPhone或iPod没有获得4.0升级。

答案 4 :(得分:1)

我认为可以安全地预期大多数用户将升级,因为这是3.0的免费升级。 很明显,Apple热衷于让用户获得4.0,这就是为什么它是免费的。

正常更新时,iTunes会唠叨升级,如果您需要重新安装手机,通常会重定向到最新版本。

当您销售应用时,您可以相当确信您的买家可以访问互联网,并且至少会偶尔停靠他们的手机并获得免费更新请求。之前更新过手机的人很可能会同样升级到iOS4。

目前,正如我所看到的,留在3.x的主要动机是iPad的兼容性。

您还应该考虑在未来6个月内您的销售情况如何。不使用最新功能的成本是多少?你能通过4.0来缩减开发时间或增加前沿功能吗?竞争应用可以利用4.0功能获得优势吗?将其宣传为仅4.0可能会对应用的感知产生积极影响。

由于您使用4.0,成为无法运行您的应用程序的人的一定比例。诀窍在于弄清楚销售额的损失是大于还是小于你将其留下的收益。

您期望的买家越多,让所有买家运行您的应用程序就越有价值。此外,买家是否可能是拥有计算机专业知识的人?如果是这样,那么他们可能更不可能留在3.x。

另外,请记住iPhone 3G之前的iPhone手机不支持iOS4。

还有一个补充:

Apple已经开始从AppStore中排除2.0应用,请参阅https://developer.apple.com/iphone/checklist/

答案 5 :(得分:1)

我发现在安装旧版和新版操作系统的情况下查看iphone / mac等的数量并没有告诉你很多关于其所有者的消费习惯。

在应用商店花钱的人更有可能更新操作系统软件。

如果您的应用程序具有任何复杂程度,则需要一些时间才能发货,并且您将拥有一个非常小的窗口,其中iPad仍在运行3.x.

开发多个操作系统级别是一件痛苦的事。除了需要在iPad / iPhone / iPod上运行您的应用程序,现在您还必须使用2个操作系统。错过检查一个地方,你在很少执行的代码中进行4.0调用,然后崩溃。

为了您的代码库的长期稳定性,仅在新应用程序上构建4.0也很好。简单就是更好。

答案 6 :(得分:0)

是的,IMO绝对有意义地使用OS 4.0中的新功能。安装了4.0的用户对于不支持快速应用程序切换的应用程序(以及iPhone 4的更高分辨率显示)也至少没有容忍度。

  

我主要担心的是,使用4.0功能要求最终用户也将手机/ iPod更新为4.0。

那不是真的。支持新功能不需要您放弃对旧版操作系统的支持。只需将Base SDK设置为4.0,将部署目标设置为3.x.并确保您的代码不会调用特定于4.0的方法,而不检查它们是否存在(respondsToSelector:)。

答案 7 :(得分:0)

progmr已经给出了一个非常好的答案;值得添加的一件事是一些硬数据:

http://www.appleinsider.com/articles/10/07/22/chitika_ios_4_already_powering_50_of_iphone_traffic.html

即。 50%的iphone用户(自2010年7月开始安装和使用带有广告的应用)仍在运行4.0之前的版本。