iOS如何為ipa包瘦身?

項目里有一個h5頁面需要原生化,這個頁面有大量的本地圖片,而這些圖又用了2x、3x兩套圖,其中有些圖片大到一張能達到好幾M,最終的結果是ipa的包體積巨大無比。于是試了好些方法,終于把ipa的體積減小了很多。接下來總結一些能讓app瘦身的方法。

1、 從圖片資源進行瘦身。

(1) 對圖片本身進行壓縮
設計師在設計大的圖片時對圖片進行壓縮一下,然后客戶端使用壓縮后的圖片,這樣能大大減少ipa包的體積。我項目中用到的那些很大的圖片設計師沒有對其進行壓縮,所以讓設計師幫把所有的大圖片都壓縮了一遍,這樣之前以M為單位的圖片能壓縮到以k為單位的圖片。大大減小了ipa的體積。

2) 客戶端在工程中使用Assets.xcassets的方式管理圖片,盡量避免使用文件夾的方式進行管理。
因為采用Assets.xcassets的方式,編譯時,Images.xcassets中的所有文件會被打包為Assets.car的文件,這樣也能一定程度上減小app體積

3) 清除無用的圖片。
在版本更新的時候,有些之前用到的圖片在新版本中未必會用得到,所以那些無用的圖片要記得及時清除。

4) 盡量使用矢量圖。
有人說這個方法對減小ipa體積沒啥大作用,不過不管有沒有用,我覺得這都是一個很值得提倡的方法。因為矢量圖可以自己定義大小以及顏色,所以對于一張圖片,只需要一套圖即可。比如我們項目中的圖標,能用iconfont解決的我們都不會去才用切圖的方式。一個iconfont.ttf的包,里面裝了幾十張的圖片也不過是十幾k的大小。

2、 整理項目中用到的第三方庫。

(1) 項目中沒有用到的第三方庫也記得要及時刪除。
(2) 引入第三方庫要慎重,學會評估引入這個庫是否值得。
有時候為了一個功能引入了一個很大的第三庫,造成ipa體積的顯著增加,但是可能我們只用到了其中一小部分功能,那這個時候可以考慮自己實現(xiàn)這個功能,而不是引入該庫。

(3) 刪除三方庫中無用的圖片資源。
有些第三方庫會帶有圖片資源,對于沒用到的圖片可以直接刪除。

3、 代碼層面的優(yōu)化

(1) 未使用的代碼及時清理
(2) 整理重復的代碼

4、 編譯選項的設置(均在Build Settings里面設置)

對于這一塊,不是特別的懂,所以根據(jù)網(wǎng)上提供的一些方法,我試了一下,感覺以下方法確實能起到一定的作用,大家可以參考一下。
(1) 將Deployment Postprocessing和Strip Linked Product選項 設置為YES。
(2) 將Generate Debug Symbols 默認為YES,設置為NO。
(3) Symbols hidden by default設置為YES
(4) Strip debug symbols during copy 設置為YES

以上是一些常見的減小ipa包大小的方法,如果你有更好的建議,歡迎留言共享,??哈哈

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容