使用Swift 5和iOS 12.2+,我应该将“始终嵌入Swift标准库”更改为否吗?

Sta*_*nko 6 xcode ios swift

对于我的所有目标,总以某种方式“始终嵌入Swift标准库”是。可能是由于Swift 1到5的历史发展。我现在正在使用Xcode 10.2,升级了目标,而我的“ Swift语言版本”都是5。

出于兴趣,我使用Xcode 10.2创建了一个空的新项目,并使用“始终嵌入Swift标准库”将其创建为Debug和Release版本的NO。

我有一种感觉,即使我保持原样,Apple还是会剥离标准Swift库,作为iOS 12.2+变薄的一部分吗?

那么自Swift 5以来正确的默认设置是什么?保持为“是”或更改为“否”有什么好处?

[更新]感谢Cœur的评论。看起来好像其中一个CocoaPods版本做到了。项目设置为否,但是使用CocoadPods的所有目标均为是。

mat*_*att 13

新项目的默认设置是 NO 并且(据我所知)一直都是。我从未将“始终嵌入”设置为“是”,而且我的项目一直运行良好。所以除非有一些很好的理由为什么这是肯定的,否则它可能不应该是。

请注意,仅当您针对 12.2 SDK 构建并使用 12.2(或更高版本)的机器时,才会删除这些库。这些库仍然需要在 12.1 或更早版本的机器上运行。

  • 只有当您的应用程序是纯 Objective-C 并且使用一些 Swift 框架时,此设置才会有所不同:在这种情况下,您会希望它是“YES”。 (2认同)

Ale*_*one 5

我来到这里是因为我已经将我的开发环境更新为:

XCode 10.2 iOS 12.2 WatchOS 5.1.3

我的应用程序甚至拒绝在手表上启动,向控制台显示一条消息,说未找到库图像。(使用 Swift4 构建设置)

将“始终嵌入”设置为开启会使手表上的应用程序安装过程非常缓慢。

我更新了项目以使用 Swift5,现在该应用程序至少再次启动。