對(duì)于ios來(lái)說(shuō)峰尝,由于工程的體量達(dá)到一定級(jí)別,瘦身是必須的尾菇,大的方向分為資源瘦身和代碼精簡(jiǎn)兩大方向境析,當(dāng)然還有個(gè)重要的方向就是H5化或者RN囚枪。資源和代碼瘦身主要的有幾個(gè)東西派诬,圖片,無(wú)用類链沼,pod無(wú)用依賴等默赂,下邊講下我們項(xiàng)目的瘦身過(guò)程和一些大神的工具。
無(wú)用pod依賴
此功能參考CSDN一片文章括勺,寫(xiě)的比較清楚缆八,有興趣的可以看一下。
git地址:https://github.com/Jlaix/scanUnusedPod
無(wú)用類檢查
此檢查我自己主要使用AppCode工具檢查的,此工具檢查會(huì)比較詳細(xì)疾捍,包括無(wú)用的方法奈辰,項(xiàng)目警告等,AppCode是IDE使得掃描出來(lái)的無(wú)用函數(shù)可以快速跳轉(zhuǎn)乱豆,而且Appcode強(qiáng)大的重構(gòu)功能使得刪除這些代碼更加方便奖恰,可以采用AppCode編碼+Xcode修改配置的IDE組合,當(dāng)然Xcode也在不斷完善宛裕,對(duì)于Xcode9一些新的功能還是很強(qiáng)大的瑟啃。
還有一些工具如https://github.com/netyouli/WHC_Scan等,使用下來(lái)個(gè)人感覺(jué)都沒(méi)有appcode精確好用揩尸。
一些比較好的建議和工具使用:參考此文章
無(wú)用圖片檢查
此項(xiàng)檢查其實(shí)有很多工具蛹屿,但是自己對(duì)比幾個(gè)工具使用下來(lái)和CSDN上一位大哥的感覺(jué)一樣https://github.com/examplecode/unused-image比較好用,如果有更好的歡迎各位大神推薦岩榆。另外圖片加入工程前最好做個(gè)壓縮错负,圖片壓縮推薦使用ImageOptim坟瓢。
分析可執(zhí)行文件
使用link map
XCode -> Project -> Build Settings -> 搜map -> 把Write Link Map File選項(xiàng)設(shè)為yes
在 編譯后的工程文件夾可以找到 命名為 xxxlinkmapxxx.txt的文件,可以command+shift+g 打開(kāi)finder搜錄路徑犹撒,輸入~/Library/Developer/Xcode/DerivedData/载绿,最終路徑為~/Library/Developer/Xcode/DerivedData/xxx-fiddbeuzfkaaebebkkcjspwsksvz/Build/Intermediates.noindex/xxx.build/Debug-iphonesimulator/xxx.build/xxx-LinkMap-normal-x86_64.txt
如何分析
本文采用node + js 的方式分析。 js代碼地址https://gist.github.com/bang590/8f3e9704f1c2661836cd使用方法油航,node js路徑 xxlinkmapxxx.txt 路徑 -hl? 分析出來(lái) 過(guò)大的可以考慮縮減和替換崭庸。
此處出自:http://www.reibang.com/p/28f02cd1f208? http://blog.cnbang.net/tech/2296/