使用Xcode 9构建的macOS应用程序可以在早于10​​.13的macOS版本上运行吗?

时间:2018-03-11 16:52:09

标签: swift xcode macos cocoa compatibility

我正在使用Xcode 9.0.1和Swift 4创建一个macOS应用程序。我想询问发布的应用程序(.app文件)是否可以在10.13之前的macOS上运行(例如,10.9或10.11),或者它是否只能工作在macOS 10.13上?

2 个答案:

答案 0 :(得分:4)

为“项目”设置(而不是目标设置)设置“部署目标”,它将构建支持该版本及更高版本的应用程序。例如。如果将部署目标设置为10.11,则稍后将支持10.11(例如10.11,10.12,10.13等)。

请注意,当您第一次发现此下拉框时,您可能想要将其设置为尽可能早的操作系统版本,但要意识到您希望追溯支持的版本越多,所需的工作就越多。您必须在任何想要使用较新操作系统功能的地方编写条件代码,并且同样需要在旧目标需要使用现在弃用的API的地方编写。

仅供参考,各种Xcode功能引入了一些限制。例如。 Swift本身需要macOS 10.9或更高版本。故事板需要macOS 10.10或更高版本。等

简而言之,设置您的部署目标,但要了解决策可能带来的成本 - 收益权衡。

enter image description here

答案 1 :(得分:0)

能够运行您的应用程序的最早版本的macOS等于您的部署目标设置,可以在Xcode中的.xcodeproj的Build Settings中找到。

这样,使用设置为10.13的部署目标构建的应用程序将无法在10.12及更早版本上启动。

不要与Target SDK混淆。