Поиск неиспользуемых файлов в Xcode
Недавно я начал работу над новым приложением, которое в основном является копией предыдущего приложения, которое я сделал, с несколькими изменениями. Чтобы сделать это новое приложение, я скопировал старое приложение и удалил некоторые вещи, которые не нужны.
Мне интересно, есть ли способ узнать, какие файлы классов используются в Xcode? Или какие-либо советы о том, как найти неиспользуемые файлы?
Ответы
Ответ 1
В Xcode нет таких функций, как встроенная в Xcode, но проблема с неиспользуемыми классами/файлами и т.д. не так проста, как можно подумать.
Люди создали скрипты, чтобы попытаться определить неиспользуемые файлы. Я использовал script, расположенный здесь, который просматривает все ваши исходные файлы и пытается связать файлы ресурсов. script также пытается проверить исходные файлы, не включенные в ваш проект.
Причина, по которой это не так тривиально, заключается в том, что Obj-C - очень динамичный язык; во время выполнения определяется множество вещей. Таким образом, иногда бывает сложно определить статические значения неиспользуемых файлов. Например, имя изображения может определяться "на лету" в зависимости от пользовательского ввода.
Я не знаю, насколько велико ваше приложение, но вы можете попробовать график зависимостей и проверить наличие сиротских классов. См. этот пост в блоге о дополнительной информации.
Ответ 2
См. полезный инструмент. Приложение Mac для проверки проектов Xcode для неиспользуемых ресурсов http://jeffhodnett.github.io/Unused/
Ответ 3
AppCode IDE от Jetbrains имеет некоторые очень достойные функции проверки кода. Он может указывать неиспользуемые классы и другие ресурсы и утверждает, что он полностью совместим с Xcode.
Ответ 4
Этот инструмент находит неиспользуемые импорты/классы: fui.
На странице README:
Найти не использованный импорт Objective-C.
Ответ 5
Также см. сценарии оболочки http://mfaizanshaikh.wordpress.com/2012/12/17/how-to-remove-unused-images-from-xcode-project/
В основном оболочка script ниже, находит все файлы png
в вашем проекте, которые не используются ни в одном из файлов xib
. Конечно, если вы использовали файл png
другими способами (раскадровки, загрузка в коде), этот script покажет их как неиспользуемые.
Для справки я также вставляю скрипты:
#!/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
Ответ 6
Там есть приложение под названием Slender от Martiancraft, которое полезно для указания потенциально неиспользуемых изображений.
http://martiancraft.com/products/slender.html
Я считаю, что Faux Pas делает что-то похожее для файлов классов, но я проверю. Это приложение также ищет неиспользуемые методы, переводы и ресурсы.
http://fauxpasapp.com/rules/#rule-UnusedResource
Я не использовал последнее приложение недавно, но помню, как он был впечатлен обоими ранее.