我在一套通过Cocoapods分发的内部库上工作。我们目前的最低部署版本是14.0。我们已经得到了每个库的Podspec,将Swift版本设置为5.3,这是与Xcode 12.0一起发布的版本,与iOS 14.0一起发布。
我的印象是,如果我们升级到Swift 5.8以使用更新的Swift功能(例如并发),我们将不得不在我们的库中嵌入更新的Swift运行时以使其正常工作。然而,我刚刚做了一个小测试,我做了一个iOS 14.0应用程序,使用Swift 5.8导入了一个Cocoapod,也使用了并发,文件大小似乎并不比使用Swift 5.3 Cocoapod的同一应用程序大,而且没有并发使用。
我们能在不影响库集成规模的情况下迁移到Swift 5.8吗?
1条答案
按热度按时间umuewwlo1#
好吧,事实证明Swift版本在编译的应用程序上没有轴承。这是因为在编译的应用程序中没有Swift,只有机器二进制文件。也就是说,如果你使用并发,Xcode将强制在部署目标低于iOS 15.0的应用中包含并发库
libswift_Concurrency.dylib
。