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

时间:2008-12-19 04:59:20

标签: 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总是让我的应用程序从改进中获益 - 代价是可能会减少我的市场。
  3. (如果答案很明显,为什么我有选择?!)

3 个答案:

答案 0 :(得分:27)

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

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

答案 1 :(得分:2)

我选择#1选项 - 将其编译为2.0。这就是我们为我们的应用做的事情。还有很多人在运行旧的2.0 O / S,如果你编译为2.2,你的应用程序就无法在他们的设备上运行。

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

答案 2 :(得分:0)

在我的测试中,如果您使用2.0,则无法使用2.1中显示的应用程序徽章功能(因此您可能需要至少使用该级别)