我想构建我的iPhone应用程序以在iPhone OS 2.0上运行高达3.0。根据{{3}},您只需将“Base SDK”设置为3.0,将“iPhone OS部署目标”设置为2.0。
我的问题是,在实际构建应用程序时,我应该选择哪个“Active SDK”?我得到以下选择:
我的猜测是无关紧要,但我想确定一下。
答案 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用户可能太便宜而无法购买太多软件。