Как очистить кеши и очистить все цели Xcode 4 и более поздние версии

Джонатан предлагает здесь: Xcode Включает удаленные файлы .xib!, которые очищают все цели и пустые кеши будут исправлять проблему с Xcode, включая удаленные файлы .xib но я не могу найти способ очистить кеш в Xcode 4.

Как это сделать в Xcode 4?

Ответ 1

Command-Option-Shift-K, чтобы очистить папку сборки. Еще лучше, выйдите из Xcode и очистите файл ~/Library/Developer/Xcode/DerivedData вручную. Удалите все его содержимое, потому что есть ошибка, в которой Xcode будет запускать старую версию вашего проекта, которая где-то там. (Xcode 4.2 покажет вам папку Derived Data: выберите "Окно" > "Органайзер" и перейдите на вкладку "Проекты". Нажмите правую стрелку справа от имени папки "Производные данные".)

В симуляторе выберите iOS Simulator > Reset Контент и настройки.

Наконец, для полноты вы можете удалить содержимое /var/folders; происходит некоторое кэширование.

ПРЕДУПРЕЖДЕНИЕ. Удаление /var/folders может вызвать проблемы, и вам может потребоваться восстановить или переустановить вашу операционную систему после этого.

EDIT: я только что узнал, что если вы боитесь схватиться с /var/folders/, вы можете использовать следующую команду в терминале для удаления более целенаправленным способом:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"

EDIT: для некоторых связанных с Swift проблем я нашел полезным удалить ~/Library/Caches/com.apple.dt.Xcode. Вы теряете много, когда вы это делаете, например, ваши запасные копии загружаемых наборов документации документации, но это того стоит.

Ответ 2

Command-Option-Shift-K должен это сделать. Кроме того, перейдите в меню продукта, нажмите клавишу выбора, теперь опция "Очистить" изменится на "Очистить папку сборки...", выберите эту опцию.

Ответ 3

Я нашел другой способ в дополнение к команде + option + shift + K. В XCode 4.2 есть органайзер, который можно открыть с самого верхнего значка справа. Там вы можете очистить все архивы и сохранить параметры проекта. Это помогло моей ситуации (я видел старые удаленные файлы в mainBundle).

Ответ 4

Помимо выполнения следующих действий вы можете столкнуться с этой проблемой, если файлы раскадровки вашего приложения локализованы. Сначала сделайте каждый из них:

  • Чистая сборка
  • Сброс симулятора
  • Перезапустите Xcode
  • Удалите папку DerivedData в ~/Library/Developer/Xcode/DerivedData
  • Перезапустить компьютер

Предупреждение. Дополнительным шагом является удаление содержимого (не всей папки) папок /var/. Обратите внимание, что это может вызвать серьезные проблемы с вашей установкой OSx, и вы больше не сможете загружаться в OSx. В этом случае единственный вариант - переустановить OSx из консоли восстановления.

В конечном итоге мне удалось заново сгенерировать файлы локализации раскадровки и удалить английскую локализацию (что было ненужно, потому что базовый языковой стандарт - английский). Чтобы перезагрузить строки раскадровки, fooobar.com/questions/15829/....

Я заметил, что обновляются нетекстовые части моего раскадровки, а не локализованный текст. Если у вас есть локализация в вашем приложении, я бы порекомендовал проверить, обновляются ли ваши локализации (даже если это файлы .strings).

Ответ 5

Я вынимаю волосы из головы, потому что думал, что у меня такая же проблема. При создании приложения я не получил тот же результат на моем iPhone, что и на симуляторе.

Проблема заключалась в том, что я каким-то образом создал локализованную версию файла MainStoryboard.storyboard. Поэтому, когда я запускал приложение на своем телефоне, он показал датскую версию... и симулятор показал английскую версию.

Да, я новичок!:)

Ответ 6

Чтобы удалить все полученные данные и кеш модуля в /var/folders, используйте этот маленький ruby ​​script.

derivedDataFolder = Dir.glob(Dir.home + "/Library/Developer/Xcode/DerivedData/*")
moduleCache = Dir.glob("/var/folders/**/com.apple.DeveloperTools*")
FileUtils.rm_rf derivedDataFolder + moduleCache

Это просто решило ошибку fatal error: malformed or corrupted AST file: 'Unable to load module "/var/folders/ для меня.

Ответ 7

У меня были проблемы с Xcode 5.1, сбой на мне, когда я открыл окно doc.

Я не уверен в причине этого, потому что я также обновлял docsets, а я открыл окно.

Ну, в Xcode 5 каталог модулей теперь находится в папке с производными данными, которую я по очевидным причинам не удалял. Я удалил содержимое ~/Library/Developer/Xcode/DerivedData/ModuleCache и ~/Library/Preferences/com.apple.Xcode.plist, и все, что кажется после перезапуска Xcode.

Ответ 8

Вы должны быть осторожны с файлом xib. Я пробовал все выше, и ничто не помогало мне. Я использовал пользовательские UIButtons, определенные в xib, и понял, что это может быть связано с тем, что я назначил там атрибуты, которые не изменялись программно. Если вы определили изображения или текст там, удалите их. Когда я это сделал, мои программные изменения начали действовать.

Ответ 9

Здесь my оболочка script решение, которая удаляет производные данные и очищает кэшированные объекты проекта, для Xcode 4, 5 и 6.

Иногда просто вызов rm -rf в каталоге Derived Data оставляет затяжной файл или два, но мой script цикл до тех пор, пока все файлы не будут удалены.

Ответ 10

Я пробовал почти все, но не мог помочь, что помогло мне отключить SIP (System Integration Protection), но это не работает, я не знаю, что происходит, когда и как, но системный файл где-то путают и вызывает это... хотя могут быть риски для отключения этого явно

вот как

1. Подключите Mac и удерживайте клавиши [command] + [R] для доступа к разделу восстановления.

2. Из раздела восстановления нажмите "Утилиты" в строке меню, а затем выберите "Терминал".

3. Введите следующую команду в терминал и нажмите Enter, чтобы выполнить ее: csrutil disable

4. После выполнения команды выйдите из терминала и перезагрузите Mac. Когда вы войдете в OS X, SIP будет отключен.

Ответ 11

При использовании "Модели данных" в инспекторе есть варианты генератор классов, для меня это было так, поскольку уже был класс с существующим именем.

Кодеген: решил это для меня.

введите описание изображения здесь

Ответ 12

Мои "DerivedData" с Xcode 10.2 и Mojave были здесь:

MacHD/Users/[MyUser]/Library/Developer/Xcode