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的文件地址

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


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

LSUnusedResources 工具使用
從GitHub上面下載下LSUnusedResources這個工程,跑一起來,在Mac端得到如下可視化界面。我們把將要檢測的工程添加進去,搜索就可以了。這里還有其他的一些功能??梢愿鶕?jù)讀者自己的實際需要去再探索了。
這里需要特別提醒是:下面未使用的圖片是機器檢測出來的,單不是完全可信賴的哈。最好自己再在這些圖片中,進行一下二次篩選。因為我們會遇到一下幾種情況,是不能檢測出來的。
舉兩個例子:
第一種:一些被序列化的圖片,在工程中很有可能是這樣被引用的
UIImage*image=[UIImage imageNamed:[NSString stringWithFormat:@"TabImage_index%d.png",i]];
如此這樣會被檢測為無用圖片.
解決辦法:
1.可以手動確認是否真是廢棄切圖.
2.勾選Ignore similar name 選項進行過濾
第二種:在工程的Assets.xcassets文件中直接修改了圖片的名字,這樣會導致圖片本身的名字和在工程中引入的名字不一致,導致檢測結(jié)果有誤.


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