使用指令碼刪除ios工程中未使用圖片

來源:互聯網
上載者:User

使用指令碼刪除ios工程中未使用圖片

最近在讀唐巧大神的《iOS開發進階》,學到了一個大招:使用指令碼刪除ios中未使用的圖片(紙書上有點小問題,參考github上的issue:使用指令碼刪除ios中未使用圖片)。

issue中得到的建議是:將代碼儲存在一個.sh檔案中,在xcode裡面執行shell指令檔。看到這裡,頭瞬間大了,大學學的shell都還給linux老師了....還有xcode中怎麼執行指令碼啊???

google一下,找到mac下建立.sh檔案的小白方法:教你在mac上面建立可執行指令檔。當然還有 XCode中執行指令碼的三種方法。下面針對本次操作,自己寫個總結:

1、建立可執行指令檔:

(1)開啟sublime,輸入以下shell代碼:

#! /bin/bashfor i in `find . -name "*.png" -o -name "*.jpg"`; do    file=`basename -s .jpg "$i" | xargs basename -s .png | xargs basename -s @2x`    result=`ack -i "$file"`    if [ -z "$result" ]; then        echo "$i"        # 如果需要,可以直接執行刪除:        # rm "$i"    fidone



(2)儲存檔案名稱:deletePhoto.sh,記住儲存的路徑:/Users/linafu/deletePhoto

(3)為指令檔添加執行許可權:在終端輸入如下指令碼:chmod +x ./deletePhoto

至此,shell指令碼就建好了!

2、在xcode中執行已經建立好了的指令碼:

(1)在xcode功能表列中:file->new->target,然後osx->other->external build system,命名為:scriptTarget,這樣就建立了一個虛擬target。

(2)在工程的target區,選中scriptTarget,在build tool裡面輸入:/Users/linafu/deletePhoto

(3)在工程target的build phasese->target dependencies中添加scriptTarget

好了,以後不論什麼時候,build工程之前都會先build這個虛擬target,通過build這個target來運行指令碼。當然,我們並不會每次編譯都需要刪除圖片,所以,使用完可以將它從build phasese->target dependencies中移除。


忘了說,在所有的步驟之前,要先在終端通過:brew install ack 命令安裝ack(ack用於做搜尋)。

哈哈,添加太不方便,就不了,不夠明白可以看文中的連結。另外,這裡附上另一個刪除ios中未使用圖片的方法,用的是python指令碼:傳送門


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.