Swift 5 將進一步減小iOS 應用安裝包大小
10年來,蘋果開發者生態系統的最大變化是引入了Swift語言。在今年的WWDC上,我們將會看到另外一個巨大更新:在Mac上將支持導入第三方UIKit 。Swift在2014年WWDC上宣布的。目前版本為4.2.1。Swift從第一個版本以來,對用戶影響最大的是ABI不穩定。這意味著在不同版本的Swift之間的代碼不能兼容。解決方法是,將其兼容代碼包含在App Store的應用程序中,這會使安裝包變得很大。在Swift 5中有很大可能解決ABI不穩定的問題。新版本支持iOS12.2、 tvOS 12.2、watchOS 5.2和macOS 10.14.4 ,所有的這些版本目前都處於人員測試版中。當新版本的蘋果系統的新版本向公眾開放下載時,發佈到App Store上,使用Swift 5開發的應用程序安裝包將變小。
此外,另一個好處是,應用啟動時間更快,之前是因為應用程序使用的每個動態庫都時都會略微增加啟動時間,但新版本中,操作系統把包含的庫緩存在內存中,並給所有應用程序之間共享,從而使應用啟動更快。
到底能夠省多少空間呢?下面我們舉個例子:
Apollo for Reddit的安裝包大小為35.7 MB,其中包括7.5 MB的Swift庫,當更新到IOS 12.2的Swift 5時,安裝包大小減少20%以上,為30 MB以下;PCalc的安裝包大小為86.8 MB ,包括7.5 MB的Swift庫。當更新到Swift 5時,安裝包大小將減少9%,降至80 MB以下。
Chirp的Apple Watch程序安裝包大小為28.8 MB,包括11.6 MB的Swift庫。當更新到Swift 5時,安裝包大小將減少30%以上,降至20 MB以下。
根據設備的不同,其大小和節省的空間也各不相同。
當然,上面這些情況都是假定開發人員使用Swift 5 開發應用程序,同時,為了方便開發人員便於對現有的應用程序進行維護和版本遷移,Swift 5 提供了與Swift 4.2 代碼兼容的方法。