如何判断我的XCode将部署到哪个iOS版本?

问题描述:

我目前有XCode版本8.2.1。如何判断我的XCode将部署到哪个iOS版本?

在我的iPhone上,我目前有iOS 10.3.2。

我的XCode的版本将不会部署到任何超过iOS的10.2。

在我的iPhone,我被提供了一个升级到iOS 11.0.3。

根据这个wiki这里的XCode版本9将部署到iOS 11.0:https://en.wikipedia.org/wiki/Xcode#9.x_series。但我不能说这是否包含所有的子版本,例如11.0.3。

所以我的问题是,如果我得到的XCode 9版和升级我的手机到iOS 11.0.3,我将能够在Xcode部署到我的手机?我如何确切知道每个版本的XCode支持哪些版本的iOS?接下来,我如何确保我的iPhone和iPad始终具有可从XCode部署的iOS版本?

+0

您可以在Xcode中查看您项目的部署目标是什么。你真的有什么问题? – matt

如果我获得XCode版本9并将我的手机升级到iOS 11.0.3,我能否从XCode部署到我的手机?

是的。 Xcode 9和iOS 11都是最新的(截至2017年10月)版本。如果您想要支持iOS 11,则需要Xcode 9.

如何确切确切地说明每个版本的XCode支持哪些版本的iOS?

检查release notes。例如,的Xcode 9兼容性节说:

的Xcode 9包括软件开发工具包适用于iOS 11,watchOS 4,MACOS 10.13和tvOS 11

,还是今后,我怎么能保证我的iPhone和iPad总是有我可以从XCode部署的iOS版本?

与最新的iOS和Xcode版本保持同步是实现这一目标的一种方式。你甚至不需要手机上最新的iOS版本 - 只要你使用的是任何Xcode支持的最低版本以后的版本。查看可用部署目标列表,我可以看到Xcode 9将iOS版本部署回iOS 9.1。

大部分情况下,请注意,在手机上更新iOS可能需要您更新Xcode。

+0

谢谢,这真的很有帮助。还有一个问题:如果XCode的一个版本支持“iOS 11”,那么这是否意味着它总是支持子版本(例如11.0.3),即使那些尚未发布的版本(例如11.0.4)? – ClareSudbery

+0

@ClareSudbery我想这取决于你的意思是“支持”。您使用Xcode 9.0构建的应用程序可能在iOS 11.0.x上运行良好,但Xcode 9.0可能无法让您在模拟器上运行iOS 11.0.x,并且Xcode 9.0可能会或可能无法运行将应用部署到运行iOS 11.0.x的设备上。 – Caleb

是的,您将能够部署到您的手机。

当您需要的Xcode 9而不是8对iOS11程序,这个问题更多的是与你的项目的基本SDK和部署目标设置。

Base SDK是您正在编译的SDK版本。例如,在Xcode 9中,这可能是iOS11。部署目标设置代表应用程序将运行的最低支持iOS版本。根据你的例子,这可能是iOS10,但它可能是其他任何东西。

要使用最新的iOS11功能,你得有iOS11的最低基数SDK。要支持较老的平台,您必须确保将部署目标设置为您所支持的最旧版本。在代码中,当决定使用比部署目标更新的功能时,您需要检查平台的版本。

+0

没错。并且真正重要的一点是:任何版本的Xcode都可以部署到**之前的任何版本的**(以及许多在收集符号后发布它的iOS版本)。您只需声明您的代码支持哪些版本的iOS。 – Tommy

+0

这是一个很好的答案,谢谢 - 遗憾的是我不能用滴答作出答案,所以我选择了其他答案,因为它回答了我的基本问题,但由于有关部署目标的详细信息,这也很有用。 – ClareSudbery