Как очистить кеши и очистить все цели 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
- выполнить чистый