長いことプロジェクトをやっていると、削除し忘れたクラスや画像が埋もれていきます。
そんなunusedな、unreferencedなリソースを見つけ出して、プロジェクトを大掃除しましょう!
準備
xcodeutilsをクローン
https://github.com/arun80/xcodeutils
スクリプトを叩く
sh ./find-unused-resources.sh path-to-project > report-name
- pathは、
.xcodeproj
ファイルがあるディレクトリを指定する - レポートはHTML形式で出力されるので、
.html
とか付けておく
結果
結構出てきた。ほんとにこんなに使ってないのか……?
……ほんと??
Swiftも混ざったプロジェクトなんだけど、
Swiftには対応してないのかな? どうなのかな?
まとめ
- 画像リソースでおよそ3MB分使っていないものがあるようなので、削除してみる
- Swift化を進めてきたが、削除し忘れのObjective-Cクラスがいくつもあったので削除する
さ、みなさんも大掃除!!
その後……
作業してみると、このスクリプトでは、コードからの参照についてはチェックしていないことがわかりました!!
つまり、 let image = UIImage(named: "image_name")
というような記述はチェックしていないようです……。
ファイルを削除する前に、プロジェクト全体にファイル名のテキストサーチをかけて、本当に使用していないか(= xcodeprojからのみ参照されていること)を確認してから、削除するのが良いでしょう。