Как очистить кеши и очистить все цели Xcode 4 и новее

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

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

15 ответов

Решение

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

В симуляторе выберите "Симулятор iOS"> "Сбросить содержимое и настройки".

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

ВНИМАНИЕ: Удаление папок / var / может вызвать проблемы, и вам может потребоваться восстановить или переустановить операционную систему после этого.

РЕДАКТИРОВАТЬ: Я только что узнал, что если вы боитесь использовать / var / folder /, вы можете использовать следующую команду в терминале для более целенаправленного удаления:

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

РЕДАКТИРОВАТЬ: Для некоторых проблем, связанных со Swift, я нашел полезным удалить ~ / Library / Caches / com.apple.dt.Xcode. Вы теряете много, когда делаете это, как ваши запасные копии загруженных комплектов документации, но это может стоить того.

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

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

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

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

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

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

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

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

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

Удалить все производные данные и кеш модуля в /var/folders используйте этот маленький скрипт ruby.

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/ ошибка для меня.

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

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

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

My "DerivedData" with Xcode 10.2 and Mojave was here:

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

Просто удалите производные данные из терминала,

         rm -rf ~/Library/Developer/Xcode/DerivedData/*

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

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

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

Вот мое решение сценария оболочки, которое удаляет производные данные и очищает кэшированные активы проекта для Xcode 4, 5 и 6.

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

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

вот как

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

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

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

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

Мне с кэшированными изображениями помогло: Xcode -> Product -> Clean Build Folder

Вы можете использовать PrettyClean для очистки всех кешей инструментов разработчика, включая Xcode.

Шаги:

  • перейти на сайт https://pretty-clean.github.io/
  • скачать PrettyClean
  • установить PrettyClean
  • Откройте и отсканируйте
  • выберите Xcode
  • выполнить чистый
Другие вопросы по тегам