iOS 應(yīng)用包(ipa)瘦身之LinkMap與LSUnusedResources的使用

ipa瘦身,我們主要從2個方面入手:

一、是工程中所有文件占用空間的大小;發(fā)現(xiàn)異常文件,需要進行優(yōu)化處理

二、是未使用圖片的清理。

針對第一種情況,我們可以通過link Map 文件,可以看到所有文件的縮減情況,

查看link Map 文件的工具,可以通過這個的鏈接去找:https://github.com/huanxsd/LinkMap

針對第二種情況,我們可以通過LSUnusedResources 這個工具來檢測工程中未使用的圖片。

LSUnusedResources 工具可以通過這個鏈接獲得, https://github.com/tinymind/LSUnusedResources

下面以圖文的形式詳細描述這2個工具的事情情況。

LinkMap 工具使用

何如獲得LinkMap 文件?

使用方式:

? ? 1.在XCode中開啟編譯選項Write Link Map File?

? ? XCode -> Project -> Build Settings ->把Write Link Map File選項設(shè)為yes,并指定好linkMap的存儲位置?

? ? 2.工程編譯完成后,在編譯目錄里找到Link Map文件(txt類型)?

? ? 默認的文件地址:~/Library/Developer/Xcode/DerivedData/XXX-xxxxxxxxxxxxx/Build/Intermediates/XXX.build/Debug-iphoneos/XXX.build/?

? ? 3.回到本應(yīng)用,點擊“選擇文件”,打開Link Map文件?

? ? 4.點擊“開始”,解析Link Map文件?

? ? 5.點擊“輸出文件”,得到解析后的Link Map文件?

? ? 6. *輸入目標文件的關(guān)鍵字(例如:libIM),然后點擊“開始”。實現(xiàn)搜索功能?

? ? 7. *勾選“分組解析”,然后點擊“開始”。實現(xiàn)對不同庫的目標文件進行分組


~/Library/Developer/Xcode/DerivedData/XCTG3-gvueobenusdvggfpombsqchnvkfe/Build/Intermediates.noindex/XCTG3.build/Debug-iphonesimulator/XCTG3.build

linkMap的文件地址

linkMap文件存儲的地方

從GitHub上面下載下link Map這個工程,跑一起來,在Mac端得到如下可視化界面。可以把我們上面得到linkMap文件(.txt)復制一份到桌面上,再下面選擇文件的時候,加進去


將上面文件路徑的linkMap復制一份出來
選擇好文件后,點擊開始


選擇好文件后,點擊開始,我們就可以看到工程中下面這些文件占了多少空間,下面的參數(shù)可以為我們提供代碼優(yōu)化思路與方向。


linkMap 工具視圖

LSUnusedResources 工具使用

從GitHub上面下載下LSUnusedResources這個工程,跑一起來,在Mac端得到如下可視化界面。我們把將要檢測的工程添加進去,搜索就可以了。這里還有其他的一些功能??梢愿鶕?jù)讀者自己的實際需要去再探索了。

這里需要特別提醒是:下面未使用的圖片是機器檢測出來的,單不是完全可信賴的哈。最好自己再在這些圖片中,進行一下二次篩選。因為我們會遇到一下幾種情況,是不能檢測出來的。

舉兩個例子:

第一種:一些被序列化的圖片,在工程中很有可能是這樣被引用的

UIImage*image=[UIImage imageNamed:[NSString stringWithFormat:@"TabImage_index%d.png",i]];

如此這樣會被檢測為無用圖片.

解決辦法:

1.可以手動確認是否真是廢棄切圖.

2.勾選Ignore similar name 選項進行過濾

第二種:在工程的Assets.xcassets文件中直接修改了圖片的名字,這樣會導致圖片本身的名字和在工程中引入的名字不一致,導致檢測結(jié)果有誤.



LSUnusedResources 工具視圖



LSUnusedResources 工具視圖

掘金中的 daisyduan 也是我啊 ,??

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

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

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