iOS部署目标设置为iOS 4.2。 应用程序是否可以在运行早期版本iOS的设备上运行?

如果一个应用程序在iOS设置目标设置为iOS 4.2的Xcode中编译,它是否会在运行早期版本iOS的设备上运行? 该应用程序没有iOS 4独有的function。我做了Snow Leopard和XCode 3.2.5的全新安装,而SDK的早期版本不适合testing。

否。部署目标定义了设备必须运行的iOS所需的最低程度。 例如,您可以将构build目标设置为3.1.3,以支持iOS版本> = 3.1.3的设备。 基本SDK设置定义了您的应用正在使用的SDK版本。 这将是4.2。 只要您不使用任何iOS 4function,就可以安全地将部署目标设置为3.1.3。

不可以。应用程序只能运行在部署目标和更高版本中设置的版本,而不是更早。

部署目标需要设置为您希望支持的最低版本的iOS,例如。 iOS 3.x.

我知道你已经说过它不使用任何4.x特定的function。 但只是为了完整:

如果您将部署目标设置为比最新版本旧的版本,则需要在新的框架之间build立联系,并在使用它们之前testing类/常量符号的存在,如果不存在则进行故障转移。

不,它不运行。 iOS无法知道您的应用程序是否将使用function不可用,直到他启动它,所以你必须将其设置为一个要求。