我应该使用哪种iPhone"Active SDK"版本?

squ*_*art 7 iphone xcode

当前(截至2008年12月)iPhone SDK允许我在构建应用程序时选择3个版本:2.0,2.1,2.2. - 我会忽略下面的2.1.

我的假设:

  • 2.2有比2.0更多的API函数,
  • 2.2自2.0以来修复了错误,
  • 2.2向后兼容2.0(用于构建和运行),
  • 如果我使用SDK 2.0构建,我的应用程序将适用于iPhone 2.2,
  • 如果我使用SDK 2.2构建,我的应用程序将无法在iPhone 2.0上运行.

我认为使用可以构建应用程序的最早版本是最好的,这样它将在运行旧操作系统的iPhone上运行.

但如果我用2.0构建它,我的应用程序是否会有丢失的风险?也许一些速度或更好的UI元素.但也许2.0和2.2之间没有太大的区别,甚至担心它?

所以我的问题是:我应该选择哪种SDK?

  1. 我可以构建的earlist SDK,以拓宽我的目标市场.
  2. 最新的SDK始终如此,以便我的应用程序从改进中获益 - 以可能减少我的市场为代价.

(如果答案很明显,为什么我有选择?!)

Chr*_*son 27

您可以使用iPhone OS 2.2 SDK并仍然可以为iPhone OS 2.0编译; 您执行此操作的方式与Mac OS X相同.您使用的SDK确定您要使用API​​的最新版本的操作系统,而您使用的部署目标确定您想要的最新版操作系统运行.这两个通常应该在Xcode的项目级别设置.

因此,您可以针对iPhone OS 2.2 SDK构建软件,并且在安装了2.2或更高版本的设备上运行时,请使用2.2功能.但是,如果在安装了2.2之前的操作系统的设备上运行,并且您的应用程序应该正常工作,您可以将其部署目标设置为2.0并且使用2.2功能.


Mar*_*ski 2

我会选择选项 #1 - 将其编译为 2.0。这就是我们为我们的应用程序所做的。仍然有很多人运行旧的 2.0 操作系统,如果您编译到 2.2,您的应用程序将无法在他们的设备上运行。

也就是说,如果您开发应用程序并遇到错误并发现它已在更高版本的固件版本中修复,那么除非有解决方法,否则您可能没有太多选择。每个新版本中还添加了新功能,尽管我不知道这些功能的完整列表(在 API 级别)。