当前位置: 首页 > 科技观察

Swift5将帮助iOS12.2应用程序瘦身和更快启动

时间:2023-03-12 08:47:57 科技观察

十年对任何人来说都是一件大事,对于苹果开发者生态系统也是如此。要说苹果开发者生态系统最重要的变化,莫过于Swift编程语言的发展。在今年的WWDC上,我们可以期待最新的进展,其中一个是重大的变化,那就是第三方UIKit应用在Mac平台的落地。  Swift语言首次亮相于2014年的WWDC,在苹果工程师和开源社区的共同努力下,不断更新,目前已经到了4.2.1版本。  Swift自最新版本以来的一个问题是其应用程序二进制接口(ABI)不稳定。简短的回答是,Apple无法在其操作系统中包含Swift语言支持,因为用Swift3编写的应用程序无法与Swift4语言支持二进制文件一起使用。  为了解决这个问题,苹果系统的Ap??p需要在自己的安装包中内置Swift语言库,增加了App的容量。  现在,Swift5出来解决这个问题了。  Swift5CompatibleBinaryInterface,它已经包含在iOS12.2、tvOS12.2、watchOS5.2和macOS10.14.4这四个系统中,这些主要系统目前都处于测试阶段,即将带来***公测。  所有使用Swift5的应用都将共享Swift动态库,这样可以缩小体积,例如Reddit的Apollo目前是35.7MB,其中包括7.5MB的Swift库。升级到iOS12.2后,容量会减少20%,也就是不到30MB。PCalc为86.8MB,其中还包括7.5MB的Swift库,升级后缩小了9%,即不到80MB。AppleWatch的Chirp大小为28.8MB,包括一个11.6MB的Swift库,更新到Swift5后将减少30%以上。  Swift5的另一个好处是让App启动更快,因为每个动态库会增加它的启动时间,新系统的动态库缓存在内存中,所有应用程序之间共享。  所以,当几大系统的新版本上线后,终于在一夜之间解除了与Swift语言相关的限制,这是一个可喜的结果。