Я долго мучился с проектом, который терял автозаполнение и подсветку синтаксиса.Удаление папки «Производные данные» и перезапуск XCode временно исправили бы это, и в конечном итоге это почти стало мышечной памятью.Моя проблема, казалось, усугубилась использованием рабочего пространства, содержащего несколько проектов, многие из которых зависели друг от друга.Оказывается, проблема была с индексатором clang.Проект скомпилировался бы чисто, но, глядя на выходные данные индексатора, он был завален ошибками.Исправление ВСЕХ помогло решить мои проблемы.
ПЕРЕД ДЕЛАМИ ЧТО-ТО : убедитесь, что ALL цели в ALL проектов в вашей рабочей области скомпилированы правильно.Это без ЛЮБЫХ предупреждений.Это был большой провал с моей стороны - у меня были старые цели, которые просто не компилировались.Некоторые из них были неиспользованными и могли быть удалены, другие были не-ARC, которые использовали модули в целях, которые были преобразованы в ARC (также преобразовали эти цели), а некоторые просто нуждались в исправлении кода.
Once you 'После того, как все проблемы были решены, первое, что нам нужно знать, - это где индексатор не работает, выполняя полный индекс вашего проекта.
Сначала убедитесь, что Xcode закрыт, затемувеличьте уровень предупреждающего сообщения индексатора, введя в Терминале:
defaults write com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3
Затем найдите папку «Производные данные» для вашего проекта / рабочего пространства (вероятно, ~ / Library / Developer /Xcode / DerivedData / имя вашего проекта - немного тарабарщины ) и удалите его (но оставьте папку Derived Data открытой, потому что вам, вероятно, придется вернуться и сделать это несколько раз.
Далее откройте консольное приложение и нажмите «Очистить дисплей» и установите для фильтра значение «IDE», чтобы показывать только интересующие нас сообщения.
Наконец, откройте Xкод и проект / рабочее пространство, которое вызывает ваши проблемы, и вы увидите, что консоль начинает заполняться сообщениями.
Чтобы искать ошибки, измените фильтр консоли на "error:"- наша цель - уменьшить их до нуля.
В большинстве найденных ошибок отсутствовали заголовочные файлы.Сам Xcode кажется умнее индексатора.Кажется, что он может найти и включить заголовочные файлы из других проектов, что индексатор не может.
Так что везде, где вы видите " фатальная ошибка: 'somefile.h'файл не найден", убедитесь, что вы добавили путь к этому файлу в Пути поиска заголовка пользователя в настройках сборки цели.Лучший способ сделать это - дважды щелкнуть по полю, чтобы открыть всплывающее окно, и перетащить в него папку из искателя.Это добавляет новую запись, но, предполагая, что она находится в той же рабочей области, она добавляет относительный путь к файлу (это важно в случае, если вы переместите папку рабочей области в будущем).Если у вас есть несколько целей для одного и того же проекта, вы можете установить путь поиска в проекте, а не на уровне цели, и установить целевые пути поиска на $ (наследуется) .
У вас могут быть похожие проблемы с библиотеками или фреймворками - снова обновите соответствующий путь поиска.
Как только вы исправите некоторые ошибки, закройте Xcode, очистите консоль, удалитеПроизводные данные проекта, откройте Xcode и дайте ему снова индексироваться.
Повторяйте до тех пор, пока все ваши ошибки не исчезнут.
Как только вы вэто хорошее место, автозаполнение кода и подсветка синтаксиса должны работать как шарм:)