如何刪除iOS工程里未使用的圖片
一個普通的iOS工程經(jīng)歷了多次改版之后,往往就會存在許多廢棄不用的圖片沒有刪除掉,它們的存在會使iOS工程的體積大大增加。如果清除掉這些圖片,就能讓ipa包的體積大大縮減,起到瘦身的效果。一個普通的i
一個普通的iOS工程經(jīng)歷了多次改版之后,往往就會存在許多廢棄不用的圖片沒有刪除掉,它們的存在會使iOS工程的體積大大增加。如果清除掉這些圖片,就能讓ipa包的體積大大縮減,起到瘦身的效果。一個普通的iOS工程會有大約三分之一的圖片是未使用的,所以清理這些圖片還是非常有必要的。
iOS項目的目錄結(jié)構(gòu)
一般情況下,iOS項目的目錄結(jié)構(gòu)大致如下圖所示:
```
├─ Classes
│ ├─ Model
│ ├─ View
│ └─ Controller
├─ Resources
│ ├─ Images.xcassets
│ │ ├─
│ │ ├─
│ │ └─ ...
│ └─ ...
└─ ...
```
安裝Silver Searcher
首先我們要安裝Silver Searcher。在Linux系統(tǒng)里可以使用ack-grep來進(jìn)行搜索內(nèi)容,但是mac系統(tǒng)里并沒有ack-grep怎么辦呢?其實我們可以在mac系統(tǒng)中安裝Silver Searcher來進(jìn)行搜索字符串,使用的方法和ack-grep相似,而且搜索的速度比ack-grep還要快。方法是打開終端,輸入以下命令安裝:
```
brew install the_silver_searcher
```
搜索未使用的圖片
iOS的圖片分為標(biāo)清和高清兩種,所以搜索時就要先把"@2x"去掉。因為高清的圖片名字是以"@2x"結(jié)尾的,一般的代碼里并不會寫上"@2x"。如果搜索到的結(jié)果為空字符串,說明代碼里并沒有引用該圖片。
保存未使用的圖片名
獲取到的所有未使用的圖片名,經(jīng)過排序后保存到一個txt文件里。為什么把文件名保存早一個文本文檔里而不是直接執(zhí)行代碼呢?目的為了先確認(rèn)一下是否有誤搜到的圖片。比如搜到了這幾張未使用的圖片:
```
```
手動確認(rèn)圖片是否被使用
看下面代碼可以知道這幾個圖片實際上是用到了的,可是搜索到的未使用圖片卻有它們。所以要看文本里的圖片名有沒有含有連續(xù)數(shù)字,有的話要再手動搜索一下代碼,進(jìn)一步確定圖片是否被使用。
刪除未使用的圖片
接下來我們就可以用Python代碼讀取txt文檔的內(nèi)容,將里面的圖片刪掉??梢允褂胦s模塊遍歷圖片文件夾,并通過文件名判斷是否應(yīng)該刪除該圖片。在刪除之前,最好備份一份未使用圖片的文件夾,在刪除后可以對比一下文件夾大小,確保刪除操作正確無誤。
以上是如何刪除iOS工程里未使用的圖片的方法,希望對你有所幫助。清理未使用的圖片可以有效減小iOS工程的體積,提高應(yīng)用的性能和加載速度。記得在操作前備份重要文件,以免不小心刪除了需要使用的圖片。