私は最近、いくつかの変更を加えた、基本的に以前に作成したアプリのコピーである新しいアプリの作業を開始しました。この新しいアプリを作成するために、古いアプリをコピーし、不要なものをいくつか削除しました。
Xcode で使用されているクラス ファイルを確認する方法はありますか? または、未使用のファイルを見つける方法に関するヒントはありますか?
Xcodeに組み込まれているこのような機能はありませんが、未使用のクラス/ファイルなどの問題は、想像するほど単純ではありません。
人々は、未使用のファイルを判別するためのスクリプトを作成しました。ここにあるスクリプトを使用しました。このスクリプトは、すべてのソースファイルを検索し、リソースファイルをペアリングしようとします。スクリプトは、プロジェクトに含まれていないソースファイルもチェックしようとします。
それほど些細なことではない理由は、Obj-Cが非常に動的な言語であるためです。多くのことが実行時に決定されます。そのため、未使用のファイルを静的に把握するのは難しい場合があります。たとえば、画像名はユーザー入力に応じてその場で決定される場合があります。
アプリケーションの大きさはわかりませんが、依存関係グラフを試して、孤立したクラスを確認することはできます。詳細については、このブログ投稿を参照してください。
JetbrainsのAppCode IDE には、非常に適切なコード検査機能がいくつかあります。未使用のクラスやその他のリソースを指摘でき、Xcode と完全に互換性があると主張できます。
便利なツールを参照してください。未使用のリソースの Xcode プロジェクトをチェックするための Mac アプリ http://jeffhodnett.github.io/Unused/
このシェルスクリプトも参照してください http://mfaizanshaikh.wordpress.com/2012/12/17/how-to-remove-unused-images-from-xcode-project/
基本的に、以下のシェル スクリプトは、どのファイルpng
でも使用されていないプロジェクト内のすべてのファイルを検索しxib
ます。もちろん、png
ファイルを他の方法 (ストーリーボード、コードの読み込み) で使用した場合でも、このスクリプトはそれらを未使用として表示します。
参考までに、ここにもスクリプトを貼り付けます。
#!/bin/sh
PROJ=`find . -name '*.xib' -o -name '*.[mh]'`
for png in `find . -name '*.png'`
do
name=`basename $png`
if ! grep -q $name $PROJ; then
echo "$png is not referenced"
fi
done