Удаление производных данных из проекта Xcode 4.2 не переиндексирует проект

Индексация, завершение кода и раскрашивание исчезают из моих проектов довольно регулярно, обычно сразу после добавления файла. А затем он возвращается через несколько часов или дней, обычно по неизвестным причинам (я пытался вести учет, но он довольно случайный). Нажатие CMD даже на известные термины (например, viewDidLoad: или NSLocalizedString) приводит к ошибке «Символ не найден».

Это происходит с Xcode 4.2 (я думаю, это произошло в Xcode 4.0.2, но не так часто). У меня нет ошибок сборки, предупреждений или сообщений статического анализа.
Я перезапустил Xcode.
Я пытался отключить предварительную компиляцию.
У меня не было случая, чтобы я получил циклический заголовочный файл include/import.
Это происходит, если я использую gcc, LLVM, CLang (в любой комбинации).
Это происходит, если я использую iOS 4.3 или 5.0.
Я пытался удалить "производные данные .", и даже только путь Index/.
После удаления и повторной сборки я вижу файл .hmap и папку .xcindex (заполненную файлами db.xcodeindexdb*).

... но я не могу вернуть завершение кода, обнаружение символов или раскраску.

Что еще я могу сделать? Я искренне ценю помощь.


person Stephen Furlani    schedule 11.11.2011    source источник
comment
Понятия не имею, но у меня одна и та же проблема, которая приходит и уходит. Было это и в Xcode 3. Очень расстраивает. Все работает один день, потом перестанет. И вы правы, иногда он вдруг снова начинает работать. Хотел бы я это понять.   -  person Graham Perks    schedule 12.11.2011


Ответы (6)


Вы пробовали чистую установку (sudo/Developer/Library/uninstall-devtools)?

person daveoncode    schedule 22.11.2011
comment
нет, что это должно делать? чистить кеши? Я не могу сделать это без переустановки? - person Stephen Furlani; 23.11.2011

У меня точно такая же проблема для одного конкретного проекта. Для меня работает следующий обходной путь: помимо удаления Derived Data , я делаю обновление SVN или возвращаю любой файл проекта. Если сам файл проекта изменен, мой Xcode отображает неправильную цель, поэтому я закрываю проект и снова открываю его, после чего индексирование начинается правильно.

person Kamil.S    schedule 15.02.2012

Самый надежный способ принудительно переиндексировать проект, который я нашел, - это изменить настройки сборки, в частности «Запустить статический анализатор» - хотя я хотел бы получить реальный ответ.

person Stephen Furlani    schedule 29.03.2012
comment
Странно, но это сработало и для меня. Xcode 5.0.2, Mac OS 10.9.1. Я изменил параметр сборки «Анализ во время сборки» на «Да» и собрал проект — и вуаля — все было переиндексировано. (Я изменил настройку на «Нет», и все по-прежнему работало.) - person Jens Willy Johannsen; 24.02.2014

Это может показаться глупым ответом, но пытались ли вы восстановить права доступа к файлам при обслуживании диска?

person Leonard    schedule 24.11.2011
comment
Да. Я должен был сделать это после обновления до Lion. - person Stephen Furlani; 29.11.2011
comment
И я только что сделал это снова... никакого эффекта. - person Stephen Furlani; 30.11.2011

Тема у тебя старая, но все же...

Удаление папки производных данных помогает мне каждый раз. Мне приходится делать это довольно регулярно, что очень раздражает. Вы найдете путь в xCode-Settings (cmd +,) на вкладке местоположения.

person Michael_KPunkt    schedule 04.04.2012
comment
Лучшее, что я получаю, это переключение настроек в Project. Спасибо за ответ. - person Stephen Furlani; 06.04.2012

У меня только что была эта проблема. Что сработало для меня, так это очистка производных данных, затем закрытие проекта и его повторное открытие. Он не переиндексировался, пока я не закрыл и снова не открыл проект. Проект так и не скомпилировался полностью, поэтому ему даже не нужно было завершать сборку для работы.

person Claudiu    schedule 18.04.2014