Как удалить производные данные и очистить проект в Xcode 5 и позже?
Есть ли процедура, которой я могу следовать, которая включает в себя запуск сценария в терминале, удаление всех файлов из папки производных данных и надежную очистку проекта?
Иногда ресурсы проекта не всегда обновляются до моего симулятора или устройства. В основном это метод проб и ошибок, и когда я обнаружил, что старый актив попал в тестовую сборку, уже слишком поздно, не говоря уже о смущении!
Я посмотрел на этот вопрос, но он кажется немного устаревшим: как очистить кэш и очистить все цели Xcode 4
Я также проверил этот вопрос, но я не хочу тратить время в Организаторе, если мне совершенно не нужно: Как "Удалить производные данные" в Xcode6?
Я просмотрел другие посты там, но не нашел ничего, что решало бы проблему надежной очистки проекта и экономило время с помощью скрипта.
1 ответ
Это в основном двухэтапный процесс, который очищает проект от всех кэшированных ресурсов.
Конечно, если кто-то использует эту технику, а проект все еще не показывает обновленные ресурсы, тогда, пожалуйста, добавьте ответ! Вполне возможно, что кто-то там сталкивался с ситуациями, которые требуют шага, который я не включаю.
- Очистите свой проект с помощью Shift-Cmd-K
- Удалите производные данные, вызвав скрипт оболочки (подробности ниже), определенный в вашем профиле bash
- Удалить приложение из симулятора или устройства.
- Для некоторых типов ресурсов вам также может понадобиться сбросить Симулятор (в меню Симулятора iOS)
Чтобы вызвать скрипт оболочки ниже, просто введите введите имя функции (в данном случае "ddd") в свой терминал, предполагая, что это в вашем профиле bash. После того, как вы сохранили свой профиль bash, не забудьте обновить окружение вашего терминала, если вы сохранили его открытым, с помощью команды source:source ~/.bash_profile
ddd() {
#Save the starting dir
startingDir=$PWD
#Go to the derivedData
cd ~/Library/Developer/Xcode/DerivedData
#Sometimes, 1 file remains, so loop until no files remain
numRemainingFiles=1
while [ $numRemainingFiles -gt 0 ]; do
#Delete the files, recursively
rm -rf *
#Update file count
numRemainingFiles=`ls | wc -l`
done
echo Done
#Go back to starting dir
cd $startingDir
}
Я надеюсь, что это помогает, счастливое кодирование!
Другой способ удалить производные данные в Xcode - просто удалить папку "Производные данные". Вот наглядное руководство о том, как это легко сделать без использования командной строки: https://www.youtube.com/watch?v=ueEMGXKDBAc