【发布时间】:2011-06-12 10:47:13
【问题描述】:
如果在 Xcode 中编译应用程序并将其 iOS 部署目标设置为 iOS 4.2,它会在运行早期 iOS 版本的设备上运行吗?该应用程序没有 iOS 4 独有的功能。 我对 Snow Leopard 和 XCode 3.2.5 进行了全新安装,而早期版本的 SDK 无法进行测试。
【问题讨论】:
如果在 Xcode 中编译应用程序并将其 iOS 部署目标设置为 iOS 4.2,它会在运行早期 iOS 版本的设备上运行吗?该应用程序没有 iOS 4 独有的功能。 我对 Snow Leopard 和 XCode 3.2.5 进行了全新安装,而早期版本的 SDK 无法进行测试。
【问题讨论】:
没有。部署目标定义了设备必须运行的最低要求的 iOS 版本。您可以将构建目标设置为 3.1.3,例如,以支持 iOS 版本 >= 3.1.3 的设备。 Base SDK 设置定义了您的应用使用的 SDK 版本。这将是 4.2。只要您不使用任何 iOS 4 功能,您就可以安全地将部署目标设置为 3.1.3。
【讨论】:
没有。该应用将仅在部署目标中设置的版本和更高版本上运行,而不是更早版本。
部署目标需要设置为您希望支持的最低 iOS 版本,例如。 iOS 3.x。
我知道您已经声明它不使用任何 4.x 特定功能。但只是为了完整性:
如果您将部署目标设置为比最新版本更旧的版本,则需要对新框架进行弱链接并在使用它们之前测试类/常量符号是否存在,如果不存在则进行故障转移。
【讨论】:
没有。它不运行。 iOS 无法知道您的应用是否会使用在他启动之前不可用的功能,因此您必须将此设置为要求。
【讨论】: