【发布时间】:2011-04-15 19:38:47
【问题描述】:
我需要在旧版 Xcode 中打开一个 Xcode 项目,以便在旧版 SDK 下构建。 “项目设置”中的部署目标选项是什么意思。这是否意味着我可以在 iPhone OS 3 设备的最新 iOS 4.3 SDK 上构建我的项目?旧版本 SDK 不支持的类中的一些功能如何?
【问题讨论】:
标签: objective-c ios4 iphone-sdk-3.0 xcode3.2
我需要在旧版 Xcode 中打开一个 Xcode 项目,以便在旧版 SDK 下构建。 “项目设置”中的部署目标选项是什么意思。这是否意味着我可以在 iPhone OS 3 设备的最新 iOS 4.3 SDK 上构建我的项目?旧版本 SDK 不支持的类中的一些功能如何?
【问题讨论】:
标签: objective-c ios4 iphone-sdk-3.0 xcode3.2
Base SDK 是编译您的应用所用的 iOS SDK API 版本。这意味着您的应用程序是使用该版本 iOS 的库构建的。正如 Black Frog 所说,您必须使用最新的 SDK 才能让您的应用在 App Store 上获得批准。
部署目标是您的应用允许在其上运行的最低 iOS 版本。 (App Store 会阻止旧版本的 iOS 安装具有比该版本新的部署目标的应用。)
如果您希望您的应用使用例如 Game Center(需要 iOS 4.1)并在 iOS 3.1.3 或更高版本上运行,那么您将使用 4.1 或更高版本的 Base SDK以及 3.1.3 的部署目标。
要处理不存在的类和方法,您应该在使用它们之前检查它们是否存在。这里是 a great blog post 管理不同版本的 iOS 和不同版本的 SDK。
自 3.2 以来的所有 Xcode 项目都具有相同的内部格式。因此,您应该能够在旧版 Xcode 中打开 Xcode 项目。在 Xcode 3 中,您可以在项目的“获取信息”中看到项目格式版本。 (我还没有在 Xcode 4 中找到这个。)
【讨论】:
根据您的代码,您必须检查它是否适用于较低版本的 SDK:
Build SDK 和Deployment target
如果有一种神奇的方式来检查 iOS 兼容性而不是像这样手动,我很感兴趣 :)
【讨论】:
Build SDK) 构建并针对较旧的 iOS (Deployment target )