如何使用XCode 4针对4.2版本进行开发?

14

我已经升级到带有4.3版本SDK的XCode 4。

但我们希望确保我们的应用程序在拥有4.2及更高版本的设备上运行,而不仅仅是4.3。

在XCode中是否有可以配置的设置,以便我们不必强制所有人立即升级?

2个回答

26
在项目设置中有两个设置会影响您的应用程序支持的平台:
  • 基础 SDK:构建过程中使用的基础 SDK 的名称或路径。
  • 部署目标:代码将加载此及之后的 iOS 版本。
第一个设置了您链接的 SDK,第二个设置了您的应用程序将支持的 iOS 版本。重要的是要理解部署目标设置中的这个注意事项:

在早期版本中不可用的框架 API 将被弱连接;在调用较新的 API 之前,您的代码应检查空函数指针或特定的系统版本。

因此,如果您正在使用任何仅存在于4.3中的 API,请确保这些框架是弱连接的,并且您的代码在使用这些API之前检查iOS版本。

2
与其检查iOS版本,大多数情况下最好检查空函数指针,或使用-respondsToSelector:等方法。 - Elliot
1
我不确定为什么这是被接受的答案。问题在于,在XCode 4中,下拉框中没有4.2的部署目标条目,只有4.3。此外,XCode 4中的组织者显示:“不支持的设备。此版本的Xcode不支持“iPod touch(第二代)”类型的设备。”看起来苹果已经放弃了这些需要4.2的旧设备的开发。 - Craig B

15

您应该始终将基础 SDK 设置为最新版本,然后最低支持的版本取决于“部署目标”设置。

只要将部署目标设置为4.2或以下,就应该没有问题。


我正在使用 Xcode 4.3.3 (4E3002),并将 Base SDK 设置为 Latest iOS (iOS 5.1)Deployment Target 设置为 4.2。但是当我将构建的应用部署到我的旧越狱iPod (Ver. 4.2.1) 上时,什么也没有发生。我使用Organizer将输出构建部署到设备上,它显示 info.plist指定了设备能力要求,而这些要求不符合我的iPod。我修改了 info.plist 中的 UIRequiredDeviceCapabilitiesarmv6,现在它显示 此应用程序支持此设备的CPU类型。有什么想法吗? - anonim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接