1、配置編譯選項build setting- (Levels 選項內(nèi))Generate Debug Symbols 設置為 NO
這個配置選項應該會讓你減去小半的體積。注意這個如果設置成 NO 就不會在斷點處停下
2、舍棄架構 armv7
armv7 用于支持 4s 和 4,4s 是 2011 年 11 月正式上線,雖然還有小部分人在使用,但是追求包體大小的完全可以舍棄了。
3、去除無用的三方庫、代碼、readme
4、圖片處理圖片是安裝包里占用空間最大的東西,我的項目中占用了一半的體積。
**用 imageoptim 壓縮圖片的大小
**一些比較大體積的背景圖片壓縮成.jpg 格式的。
**用 LSUnusedResource 這個軟件查找項目中沒有用到的圖片,然后刪除,當然不一定特別準確,有一些[UIImage imageNamed:[NSString stringWithFormat:@"icon_%d",index]]這樣使用的圖片也會被列在未使用圖片中。
**使用 Assets.xcassets 來管理圖片也可以減小安裝包的體積
5、build setting 里 DEAD_CODE_STRIPPING = YES(好像默認就是 YES)
確定 dead code(代碼被定義但從未被調(diào)用)被剝離,去掉冗余 的代碼,即使一點冗余代碼,編譯后體積也是很可觀的。
6、編譯器優(yōu)化級別 Build Settings->Optimization Level 有幾個編譯優(yōu)化選項,release 版應該選擇 Fastest, Smalllest[-Os]
這個選項會開啟那些不增 加代碼大小的全部優(yōu)化,并讓可執(zhí)行文件盡可能小。
7、去除符號信息 Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在 release 版本應該設為 yes
可以去除不必要的調(diào)試符號。 Symbols Hidden by Default 會把所有符號都定義成”private extern”,設了后會減小體積。
8、Strip Linked Product:DEBUG 下設為 NO,RELEASE 下設為 YES,用于 RELEASE 模式下縮減 app 的大小; 2018.7.17 新增
9、編譯器優(yōu)化,去掉異常支持
Enable C++ Exceptions、Enable Objective-C Exceptions 設置為 NO,Other C Flags 添加-fno-exceptions Enable C++ Exceptions Enable Objective-C Exceptions Other C Flags 添加-fno-exceptions
10、利用 AppCode 檢測未使用的代碼:菜單欄 ->Code->InspectCode
最后要說:xcode BulidSetting 中的設置都可以區(qū)分 debug 和 release,如果覺 得在開發(fā)的時候還想用到這些,就把 debug 和 release 分開設置就可以了
簡單幾步包大小由9.6MB縮小到7.1MB