iOS安裝包瘦身

大兵布萊恩特0409發表於2018-07-12

最近打包應用時候發現個問題,同樣的程式碼兩個應用竟然打出來安裝包大小不一樣,一個拼車網26.4Mb, 另一個順風車無論怎麼對圖片壓縮打出來的包還是有33.9Mb 這麼大,我檢視了兩個專案用到的第三方庫和圖片資源都是一樣的,因為這是兩個功能完全一樣的馬甲包,除了首頁UI 樣式不一樣.

QQ20180327-104240@2x.png

QQ20180327-104306@2x.png

在我打包的時候發現了拼車網只支援 arm64位的 cpu 架構,而順風車同時支援 armv7和 arm64兩種 cpu 架構,這大概就是兩個安裝包大小差別這麼大的原因吧.筆者果斷將順風車 Xcode Build Settings 裡的 Build Active Architecture Only設定為 YES,這樣不論 debug 還是 release 都設定成 YES 只會打包 arm64 和 x86_64 這兩種 cpu 架構的二進位制檔案

QQ20180327-104911.png

由於筆者的專案最低支援 iOS10 所以 arm64架構完全支援市面上 iPhone X iPhone8 以及 iPhone5s 等所有64位的機型.

設定完畢後重新對順風車程式碼進行打包,得到的安裝包大小為

QQ20180327-105228@2x.png

筆者專案採用元件化開發,並對一些第三方 SDK打包成動態庫,所有的動態庫 framework 的二進位制檔案都支援 i386 armv7 arm64 x86_64四種 cpu 架構,所以對專案打包時候,可以採用 Build Active Architecture Only = YES 使打包出來的二進位制可執行檔案只採用 arm64這種架構.

好了,我是大兵布萊恩特,歡迎加入博主技術交流群,iOS 開發交流群

QQ20180712-0.png

相關文章