为早期的iPhone OS版本构建iPhone应用程序

时间:2009-08-09 19:37:59

标签: iphone deployment

我想构建我的iPhone应用程序以在iPhone OS 2.0上运行高达3.0。根据{{​​3}},您只需将“Base SDK”设置为3.0,将“iPhone OS部署目标”设置为2.0。

我的问题是,在实际构建应用程序时,我应该选择哪个“Active SDK”?我得到以下选择:

  • 2.0
  • 2.1
  • 2.2
  • 2.2.1
  • 3.0

我的猜测是无关紧要,但我想确定一下。

2 个答案:

答案 0 :(得分:2)

您应该选择要将应用程序部署到的SDK。编译到特定的SDK允许您确保不使用太新的功能(从开发人员方面)并实际将代码链接到正确的共享库(从应用程序端)。

答案 1 :(得分:0)

您可能希望将活动SDK设置为3.0。 SDK 3.0新增的任何库,如MessageUI.framework,都可以在“目标信息”对话框的“常规”选项卡中标记为弱链接。这意味着您必须跟踪可能正在使用的新符号,并在尝试调用它们之前验证它们是否存在。

例如,要查看新邮件发送控制器是否可用,您可以执行以下操作:

Class mfMailComposeViewControllerClass = NSClassFromString(@"MFMailComposeViewController");
if(mfMailComposeViewControllerClass != nil) // SDK 3.0

通过这种方式,您可以在保持向后支持的同时使用新功能。

顺便说一句,它可能不值得支持3.0之前,大部分潜在用户已经转移到3.0,而少数iPod Touch用户可能太便宜而无法购买太多软件。