У нас есть довольно большой проект, который содержит файлы Objective-C и C++. Все файлы C++ используются во время сборки, но только некоторые из них когда-либо открываются с помощью Xcode, и многие из них вообще никогда не должны открываться. Но Xcode добавляет в индекс всю информацию о файлах, в результате наш файл .xcindex имеет размер около 40 ГБ. Понятно, что это очень неудобно. Мой вопрос: есть ли способ отключить индексацию для какой-то части проекта? Для определенных исходных файлов, группы файлов или целых подпроектов. Я попытался установить для некоторых источников для некоторых источников значение «скомпилировано». Он отключает для них индексацию, но они также не будут компилироваться. Система сборки не знает, что с ними делать («предупреждение: нет правил для обработки файла»), хотя они перечислены на этапе сборки «Компилировать исходники». Добавление пользовательского правила для этих исходных файлов тоже не работает - команда CompileC запускается, но в ней есть "?" вместо аргумента "c++" и все флаги командной строки clang теряются. Любые предложения будут высоко ценится.
Как отключить индексацию Xcode для определенных файлов или подпроектов?
Ответы (1)
Любые предложения здесь?
У меня похожая проблема с проектом CocoaPods
. Существует огромное количество модулей, которые все индексируются. Это занимает века. Мой Xcode
замерзает навсегда после каждого pod install
. Автозаполнение тоже плохо работает. Интересно, есть ли решение для предотвращения индексации закрытых частей всех модулей?
С наилучшими пожеланиями
Обновление для CocoaPods. Наконец, я решил свою проблему, разработав утилиту ???? Регби. В текущей версии Rugby
может кэшировать все зависимости удаленных модулей и удалять их цели из проекта модулей. При создании целей вне Xcode я могу отключить индексирование и использовать предварительно построенные фреймворки. Может быть, это может помочь кому-то.
person
SwiftyFinch
schedule
01.12.2020