通常,规则是支持提供使您能够交付所需产品的功能的最低版本的操作系统。在 iPhone OS 3.0 发布大约一个月后,我让我的所有应用程序都需要 iPhone OS 3.0,因为我需要支持自定义复制和粘贴,以及应用程序内电子邮件。对于我的一个应用程序的免费版本,我想试用 iAds,所以我只制作了 4.0。
新操作系统提供的内部代码改进的可能性在制定规则时有点棘手。正如 Joe 指出的那样,您花在与旧的做事方式作斗争上的时间(可以通过迁移到新的操作系统版本来节省)是您不修复错误或添加下一个伟大的新功能的时间。在某些时候,一种新的做事方式(如块和 GCD)的优雅令人无法忽视,即使它可能不会直接向您的应用程序添加任何新功能。
在 Mac 上,许多开发人员保持对当前版本的操作系统以及 Apple 发布的前一个版本(此时为 Snow Leopard 和 Leopard)的支持。只有当一个新的操作系统出现时,他们才会放弃对以前的落后版本的支持。其他人,如 Wil Shipley,主张立即完全使用新操作系统并忽略旧版本。这里的论点是,不会为 Apple 的新操作系统版本付费或不保持系统更新的人购买您的第三方应用程序的可能性要小得多。
我在 iOS 上也看到了这一点。例如,我在 3.0 发布前后对针对不同版本的广告进行了测试(当时 iPod touch 用户仍然需要为他们的操作系统更新付费)。虽然我的应用程序免费版本的下载在 2.x 和 3.x 用户之间相对一致,但几乎没有 2.x 用户为应用程序付费,而 3.x 用户付费。
在我的付费用户中没有人抱怨过早迁移到 3.0(不过,他们确实对新功能说得很好),只有两个人抱怨我的免费版本只支持 4.0,相比之下,56,000 人已经升级没有问题。虽然我会给过渡期一点时间,但我相信在新操作系统版本发布后相对较快地迁移到它们。现在,我正在将我的所有东西都制作成 4.0-only,以便我可以对代码库进行现代化改造。
最后,您从使用新的操作系统版本中获得的最后一个好处是,您对 Apple 更具吸引力,Apple 总是希望在其新设备和操作系统版本中使用新功能来推广应用程序。