Xcode застрял в индексировании
Проект, над которым я работал в течение 2 месяцев, переставал работать без причины, потому что Xcode застрял в "Индексировании". Я больше не могу строить проект. Если я попытаюсь построить, Xcode замерзает, и мне нужно заставить выйти. Это происходит только с этим проектом.
Я попытался очистить все полученные данные, но не помог.
Я использую Xcode 4.5.2.
Любые идеи?
Ответы
Ответ 1
- Откройте папку проекта.
- Найти файл ProjectName.xcodeproj.
- Скопировать правую кнопку мыши и вставить в безопасное место.
- Щелкните правой кнопкой мыши Показать содержимое пакета.
- Найдите файл project.xcworkspace и удалите этот файл.
- Откройте свой проект, очистите и перестройте.
Если ваша проблема не решена, замените файл резервным файлом.
Ответ 2
- Закройте этот проект из Xcode
- Откройте Xcode Organizer, найдите проблемный проект
- Удалить папку Derived Data в организаторе
- Закрыть/повторно открыть Xcode
Nuking Derived Data - это первое, что нужно попробовать во всех случаях неудачного Xcode
Ответ 3
У меня была эта точная проблема, она была вызвана литералом массива из 20 элементов. Пришлось переключиться на другой синтаксис. Довольно глупо.
Ответ 4
- Закрыть любой открытый Xcode
-
rm -rf ~/Library/Developer/Xcode/DerivedData
- Щелкните правой кнопкой мыши на PROJECT_NAME.xcworkspace, выберите "показать содержимое" и удалите папку "xcuserdata"
Ответ 5
При использовании Xcode 6 и он говорит
Ожидание make
Возможно, экземпляр make уже запущен. Убейте процесс и индексирование. Глупый, но работал на меня.
Ответ 6
У меня была аналогичная проблема, и я обнаружил, что я случайно определил класс как свой собственный подкласс. У меня нет никаких предупреждений или ошибок, но компиляция застряла.
class mainClass : mainClass
{
...
}
Ответ 7
Удерживайте alt > Продукт > Очистить папку сборки
Ответ 8
Для меня полностью закрытие Xcode, а затем перезапуск проекта.
Это не решение первоначального вопроса, я не верю, но еще одна простая задача - удалить файлы и папки и т.д. Подписать этот ответ для этой идеи.
Ответ 9
Это ошибка Xcode (Xcode 8.2.1), и я сообщил об этом Apple, это произойдет, когда у вас есть большой литерал в словаре или вложенный словарь. Вам нужно разбить словарь на более мелкие части и добавить их с помощью метода добавления, пока Apple не исправит ошибку.
Ответ 10
У меня была аналогичная проблема, в которой Xcode потратил бы много времени на индексацию и часто повредил бы проект, после чего мне пришлось принудительно завершить работу и перезапустить Xcode. Это было очень неприятно.
Затем я заметил предупреждение в проекте о неправильном назначении self
в качестве делегата. Разумеется, в декларации класса отсутствовал протокол. Обратите внимание, что в образце кода OP есть аналогичное назначение (хотя из примера невозможно сообщить, правильно ли объявлен протокол):
leaderboardController.leaderboardDelegate == self;
После разрешения этого предупреждения (путем правильного объявления реализованного протокола) Xcode перестала ошибочно работать. Кроме того, я должен отметить, что проект выполнялся правильно, так как методы протокола были реализованы. Просто Xcode не смог подтвердить, что протокол должен фактически реализоваться классом.
Ответ 11
- Сначала отключите от сети. И ваша проводная сеть, и беспроводная сеть должны отключиться.
- Во-вторых, убейте процесс
com.apple.dt.SourceKitService
. Тогда XCode начнет индексировать снова, а не застрял.
![enter image description here]()
Ответ 12
Еще одна вещь, которую стоит попробовать, если вы пытаетесь решить проблемы с индексацией, и вы так далеко внизу страницы!
Попробуйте добавить этот флаг в ваши настройки сборки.
-Xfrontend -warn-long-expression-type-checking=400
![build settings flag]()
Это вызовет предупреждение, когда компилятору потребуется много времени, чтобы вывести сложное выражение.
![warning]()
Это может вызвать ошибку сборки, которая исчезнет после того, как вы найдете медленные выражения и затем уберете флаг сборки.
Ответ 13
Аналогичная проблема имела место в Xcode 6.4. Индикатор выполнения показал, что "Индексирование" было "приостановлено". Попробовал удалить project.xcworkspace, а затем удалить Derived Data, как описано выше. Кажется, не помогло. Отмечая, что сообщения выше также предлагают исправление предупреждений, и поскольку я унаследовал этот огромный проект с 180 предупреждениями, я сказал себе: "Какого черта это выглядит как хороший день для исправления предупреждений". Когда я исправлял предупреждения, через полчаса я заметил, что индикатор прогресса "Индексация" увеличился с 10% до 20%. Через час это было на уровне 50%, затем на час до 80%, затем через полчаса это было сделано! Вывод: добавьте "возьмите длинный обед или сон" к вышеуказанным предложениям.
Ответ 14
У меня возникла такая же проблема для бета-версии Xcode 7.0.
В моем случае значения "Профиль подготовки" и "Идентификатор продукта" в "Параметры сборки" отличались между PROJECT и TARGETS.
Я установил для них одинаковые значения. И я также использовал те же значения для TARGETS "appName" и "appNameTest".
Затем закрыл проект и снова открыл его.
Это разрешило мое дело.
Ответ 15
В моем случае удаление каталога производных данных не помогло. По-видимому, у меня был файл, заблокированный другим процессом, потому что после закрытия нескольких окон терминала и emacs и завершения процесса реагирования на основе пакета, все было решено.
Ответ 16
Для меня я сделал глупую ошибку. Я пишу класс следующим образом:
class A: A {
.......
}
Класс наследует сам, что вызывает замораживание. Нет подсказки сообщения от Xcode.
Ответ 17
Это случилось со мной. Если вы используете cocoapods, сделайте следующее:
- Удалить project.xcworkspace
- Переустановите контейнеры, используя "pod install" на терминале
- Он создаст новый project.xcworkspace
- Откройте новый project.xcworkspace → Очистить → Сборка
Ответ 18
Я столкнулся с этой проблемой в некоторых проектах с Xcode 9.3.1, и в моем случае проблема связана с некоторым быстрым кодом, который по какой-то причине Xcode не нравится. Эта проблема трудно решить, потому что трудно найти, какой файл вызывает проблему.
Когда у меня возникает эта проблема, я удаляю некоторые файлы из проекта Xcode (удаление ссылок), и я пытаюсь проверить, работает ли индексация. Мой процесс для этого
- Удаление некоторых файлов
- Закрыть Xcode
- Открыть Xcode
- Если индексирование завершено, попробуйте переименовать какой-либо метод, если, вероятно, файлы, которые вы удалили, у них есть что-то странное для Xcode.
В моем случае у меня было определение класса с реактивным расширением в том же файле, и по какой-то причине Xcode ему не нравится, я переместил реактивное расширение в другой файл, и теперь индексация работает нормально.
Ответ 19
Ничто не работало для меня, мой проект слишком велик (слияние объективных c
, c++
, swift
и java
файлов с j2obj). Я отключил индексирование Xcode и работал без завершения кода в течение нескольких месяцев (и это боль). Но, наконец, я нашел обходное решение. Идея состоит в том, чтобы индексировать код Xcode, но ограничивать его использование ЦП внешним инструментом, например, cputhrottle
.
Поэтому сначала вам нужно установить cputhrottle в терминал
варить установку cputhrottle
Затем ограничьте процесс индексирования Xcode следующим образом (20 = 20%),
sudo cputhrottle $ (pgrep -f com.apple.dt.SKAgent) 20
Я раскрыл свое "решение" здесь с подробностями режима: как предотвратить Xcode, используя 100% процессора при индексировании больших проектов
Ответ 20
Также прекратите выполнение приложения. если у вас есть другое приложение, работающее с вашим xcode, сначала остановите его, и вы продолжите индексирование.
Ответ 21
Для меня причина заключалась в том, что я открыл файл тот же как в основном редакторе, так и в редакторе помощника одновременно. Как только я закрыл помощника редактора, он прошел. (Версия Xcode 7.2.1)
Ответ 22
Закройте свой Xcode, закройте любой клиент git (исходное дерево или терминал), если он открыт и, наконец, перезапустите проект.
Ответ 23
Я тоже столкнулся с проблемой. Я заметил, что дважды открыл тот же проект.
So QuitXCode > Откройте проект и убедитесь, что открыт только один экземпляp > Очистить > Папка CleanBuild в некоторых случаях > build.
Он должен работать
Ответ 24
Столкнувшись с этим недавно на XCode 7.3.1, для меня я заметил, что использование ОЗУ на 100% доступно для CleanMyMac3. Проблема волшебным образом закрепилась после перезагрузки моей машины. Справедливости ради, однако, я уже пошел вперед и попробовал принятый-ответ, так что вы захотите сделать то же самое, прежде чем перезапустить на всякий случай: -)
Ответ 25
Я исправил это, просто удалив приложение с моего устройства и перестроил.
Ответ 26
У меня была такая же проблема в быстрой версии 2.2
Это связано с перегруженной функцией функции
func warnLog() {
print("Warning line: \(#line) file: \(#file) ")
}
func warnLog<T>(input:T? = nil) -> T? {
print("Warning line: \(#line) file: \(#file) ")
return input
}
func warnLog<T>(input:T) -> T {
print("Warning line: \(#line) file: \(#file) ")
return input
}
все, что мне нужно сделать, это удалить одну из неиспользуемых перегрузок
func warnLog<T>(input:T? = nil) -> T? {
print("Warning line: \(#line) file: \(#file) ")
return input
}
Ответ 27
Я закрыл свой xCode и снова открыл проект, решив мою проблему.
Ответ 28
Мое дело: это не файл project.xcworkspace, это не папка Derived Data.
Я потратил много времени. Хуже, нет сообщения об ошибке. Никакой подсказки со стороны Xcode. Абсолютно потерян.
Наконец, эта функция (с более чем 10 параметрами) отвечает.
func animationFrames(level: Float,
image: String,
frame0: String,
frame1: String,
frame2: String,
frame3: String,
frame4: String,
frame5: String,
frame6: String,
frame7: String,
frame8: String,
frame9: String,
frame10: String) {
}
Сходить с ума! По правде говоря, это вызывает беспокойство (потому что нет синтаксической ошибки или любого типа)
Ответ 29
Я также столкнулся с этой проблемой при установке новой версии XCode. Я решил это, используя следующее решение:
Я открыл свой проект в XCode на всю ночь, это устранило мою проблему.
Ответ 30
Для проблемы индексирования XCode 9.3 - Удалите XCode и установите снова с нуля. Работает для меня.