7

当前(截至 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. 我可以构建的最早的 SDK,以扩大我的目标市场。
  2. 始终使用最新的 SDK,以便我的应用程序从改进中受益——但可能会减少我的市场。

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

4

3 回答 3

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.0,并且在安装了 2.2 之前的操作系统的设备上运行时不使用 2.2 功能,并且您的应用程序应该可以正常工作。

于 2008-12-21T23:02:57.610 回答
2

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

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

于 2008-12-19T05:13:53.093 回答
0

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

蒂姆

于 2009-03-30T22:21:01.093 回答