Как очистить кеши и очистить все цели Xcode 4 и более поздние версии
Джонатан предлагает здесь: Xcode Включает .xib-файлы, которые были удалены! что очистка всех целей и очистка кэшей устраняет проблему с Xcode, включая удаленные .xib-файлы, но я не могу найти способ очистить кеш в Xcode 4.
Как это сделать в Xcode 4?
- Назначить xib для UIView в Swift
- Можете ли вы ссылаться на Xib-файлы из статических библиотек на iPhone?
- Xcode 4 .xib Создать версию iPad
- Не удалось вставить новое выходное соединение
- Повторное использование xiv в раскадровке
Command-Option-Shift-K для очистки папки сборки. Еще лучше, выйдите из Xcode и очистите файл ~ / Library / Developer / Xcode / DerivedData вручную. Удалите все его содержимое, потому что есть ошибка, в которой Xcode будет запускать старую версию вашего проекта, которая находится где-то там. (Xcode 4.2 покажет вам папку Derived Data: выберите «Окно»> «Органайзер» и перейдите на вкладку «Проекты». Нажмите правую стрелку справа от имени папки «Производные данные»).
В симуляторе выберите iOS Simulator> Reset Content and Settings.
Наконец, для полноты вы можете удалить содержимое / 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 . Вы теряете много, когда вы это делаете, например, ваши запасные копии загружаемых наборов документации документации, но это того стоит.
Command-Option-Shift-K должен это сделать. Кроме того, перейдите в меню продукта, нажмите клавишу выбора, теперь опция «Очистить» изменится на «Очистить папку сборки …», выберите эту опцию.
Я нашел другой способ в дополнение к команде + option + shift + K. В XCode 4.2 есть органайзер, который можно открыть с самого верхнего значка. Там вы можете очистить все архивы и сохранить параметры проекта. Это помогло моей ситуации (я видел старые удаленные файлы в mainBundle).
Кроме того, вы можете столкнуться с этой проблемой, если файлы вашего Storyboard вашего приложения локализованы. Во-первых, выполните следующие действия:
- Очистить сборку
- Сбросить симулятор
- Перезапустить Xcode
- Удалите папку
DerivedData
в ~ / Library / Developer / Xcode / DerivedData - Удалите содержимое (не всей папки) / var / folders
- Перезапустить компьютер
Что, наконец, работало для меня, было повторное создание файлов локализации раскадровки и удаление английской локализации (что было ненужным, поскольку базовый язык – английский). Чтобы перезагрузить строки раскадровки, см. Этот ответ в StackOverflow .
Я заметил, что нетекстовые части моей раскадровки обновляются, но не локализованный текст. Если у вас есть локализация в вашем приложении, я бы рекомендовал проверить, чтобы ваши локализации были обновлены (даже если они являются файлами .strings
).
Я вытаскиваю волосы из головы, потому что думал, что у меня такая же проблема. При создании приложения я не получал такого же результата на моем 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/
error для меня.
У меня были проблемы с Xcode 5.1, сбой на мне, когда я открыл окно документа.
Я не уверен в причине этого, потому что я также обновлял docsets, пока я открыл окно.
Ну, в Xcode 5 каталог модhive теперь находится в папке с производными данными, которую я по очевидным причинам не удалял. Я удалил содержимое ~ / Library / Developer / Xcode / DerivedData / ModuleCache и ~ / Library / Preferences / com.apple.Xcode.plist, и все, что, похоже, работает, после перезапуска Xcode.
Вы должны быть осторожны в файле xib. Я пробовал все выше, и ничто не помогало мне. Я использовал пользовательские UIButtons, определенные в xib, и понял, что это может быть связано с тем, что я назначил там атрибуты, которые не изменялись программно. Если вы определили изображения или текст там, удалите их. Когда я это сделал, мои программные изменения начали вступать в силу.
Вот мое решение сценария оболочки , которое удаляет производные данные и очищает кэшированные активы проекта, для Xcode 4, 5 и 6.
Иногда просто вызов rm -rf в каталоге Derived Data оставляет затяжной файл или два, но мой скрипт цикл, пока все файлы не будут удалены.
Я пробовал почти все, но не мог помочь, что помогло мне отключить SIP (System Integration Protection). Он работает, я не знаю, что произойдет, когда и как, но системный файл где-то запутался и вызывает это … хотя могут быть риски отключить это, очевидно,
вот как
1.Power на вашем Mac и удерживайте клавиши [command] + [R] для доступа к разделу восстановления.
2. Из раздела восстановления нажмите «Утилиты» в строке меню, а затем выберите «Терминал».
3.Введите в терминал следующую команду и нажмите Enter, чтобы выполнить ее: csrutil disable
4. После выполнения команды выйдите из терминала и перезагрузите Mac. Когда вы войдете в OS X, SIP будет отключен.
При использовании «Модели данных» в инспекторе есть опции для генерации classов, для меня это было так, поскольку уже существовал class с существующим именем.
Кодеген: решил это для меня.