Быстрое индексирование xcode навсегда - программирование
Подтвердить что ты не робот

Быстрое индексирование xcode навсегда

В настоящее время я разрабатываю приложение iOS, используя Quick и XCode 6 (Beta 3).

Все прошло хорошо, но теперь, когда мой проект растет, xcode внезапно начал индексировать, и он делает это снова и снова, делая xcode почти непригодным.

Я искал в Интернете похожие проблемы и пробовал решения, но ни один из них не помог. Даже отключение процесса индексирования (по умолчанию write com.apple.dt.XCode IDEIndexDisable 1) не останавливает XCode для этого.

При индексировании использование моего процессора достигает 300% +, заставляя вентиляторы работать с максимальной скоростью. В Activity Monitor есть несколько задач с названием "swift", каждая из которых занимает около 1 ГБ памяти.

Любые подсказки или решения приветствуются.

4b9b3361

Ответ 1

Решил: я удалил недавно добавленные файлы из проекта, и проблема исчезла. Затем я начал добавлять файлы назад один за другим, пока проблема не возникла. Поэтому я нашел файл, вызывающий проблему. Затем я удалил последний добавленный код из этого файла, и снова проблема исчезла.

Таким образом, я нашел фрагмент кода, который отвечал за это поведение.

Ответ 2

Убив процессы с именем "swift", а затем проверив ошибку в xcode, вы получите часть кода, дающую вам проблемы. В быстром есть некоторые ошибки, которые необходимо обойти.

Ответ 3

Случилось со мной с Xcode 7.3

Пришлось очистить все, что Xcode кэшировал, чтобы решить проблему.

Решение:

rm -frd ~/Library/Developer/Xcode/DerivedData/*

rm -frd ~/Library/Caches/com.apple.dt.Xcode/*

Ответ 4

У меня была такая же проблема в моем коде. Решение для меня было удалить все пробелы в массиве в моем коде.

Ex.

  struct Objects {

  let objectA = ["text1", 
                 "text2", 
                 "text3", 
                 "text4"] }

//Шум, ЦП 100% и Индекс навсегда. Решение...

struct Objects {
    let objectA = ["text1","text2","text3","text4"]}

//Решено сделать массив или строку без пробелов.

Ответ 5

У меня была такая же проблема, и мне потребовалось FOREVER для ее решения. Я почти уверен, что видел все вопросы в Интернете по этой проблеме, и я пробовал все решения. Оказывается, все, что мне нужно было делать, было....

Перезагрузите компьютер

Ответ 6

У меня была эта проблема, когда пару недель назад я был в быстром краке в Кракове. У нас был код на github, у которого была проблема с индексированием на macbook, мы попытались вытащить репо на 2 других macbooks, то же самое.

Это явно ошибка, я не знаю, что ее вызывает, мы пробовали все, что могли (чистую, чистую папку сборки, вручную удалять файлы не в репо, перезагрузку, процессы убийства и т.д.), и через пару часов осталось только создать новый проект xcode с нуля и вручную импортировать файлы из другого проекта.

С тех пор никогда не случалось так, ни на том, ни на других проектах.

Ответ 7

Ошибка XCode. Проблема, связанная с конкатенацией в одной строке:

var value = "some text" // it can be String or Array
value = value + value1 + value2 + value3 + value4 + value5 + value6 // etc

Эта коррекция исправляет эту ошибку:

var value = "some text"
value += value1
value += value2
value += value3
value += value4
value += value5
value += value6

Ответ 8

Я создавал словарь вроде этого

 var dic1 = [

            "isDestination" : self.isDestination ?? false,
            "price" : self.price ?? ""

        ]

и self.price имеет тип Int, и я давал его резервное значение как пустую строку, которая испортила компиляцию XCode.

Ответ 9

У меня была та же проблема с одним вызовом, добавив к массиву 11 объектов NSLayoutConstraint.

Решение заключалось в том, чтобы разделить код на несколько вызовов, каждый из которых добавляет только 3 объекта в массив. Weird.

Это было в Xcode 6.4

Ответ 10

Для меня я сделал глупую ошибку. Я пишу класс следующим образом:

class A: A {
.......
}

Класс наследует сам, что вызывает замораживание. От Xcode нет подсказки сообщения. Вы можете просто принять это как возможную причину ~.

Ответ 11

Это определенно ошибка Xcode, и я сообщил об этом Apple. Когда у вас большой литерал словаря или вложенный словарь. Вы должны разбить словарь на более мелкие части и добавить их с помощью метода append, пока они не исправят ошибку. Xcode 8.2.1 (8C1002)

Ответ 12

Слишком много конкатенаций строк в одной строке вызывают проблемы. Помог мне тоже. Первоначально там был показан Чжэньшань Юй: Xcode 6 Beta не компилируется

Ответ 13

У меня возникла проблема с XCode 6.3 при создании проекта на С++. Прежде чем перейти к разработке в SubLime, моим последним усилием было удаление приложения XCode и его переустановка. Это был долгий процесс, но моя версия XCode теперь обновлена ​​до 7.3, и все работает так, как должно.

Итак, если ничего больше не работает, вы можете попробовать удалить XCode из папки ваших приложений и затем переустановить. Просто убедитесь, что вы не удаляете файлы проектов, которые хотите сохранить.

Ответ 14

Я получил эту проблему и через 6 часов (после попытки создания и создания нового проекта снова пошаговое копирование ресурсов) НАЙДЕНУ МОЮ ПРОБЛЕМУ:

class A : A {
...
}

По факту copy/paste у меня был класс, который расширяет себя, и это делает безусловным индексирование.

Ответ 15

Mine собирался перетащить новый файл с расширением String в проект, а не , добавив его ко всем требуемым целям. Надежда, которая помогает кому-то.

Ответ 16

Резервное копирование проекта удаляет последнее и перезагружает xcode просто :-)

Ответ 17

Я тоже столкнулся с той же проблемой для Xcode 9.1. Поэтому я просмотрел Activity Monitor. Был быстрый процесс, который был выше 100%. Дважды щелкните по нему и закройте. Готово. Теперь он работает отлично.

Ответ 18

Я пошел на tools-> задачу и contexts-> понятный контекст, и это, казалось, дало компьютерный отдых наконец!

Ответ 19

введите описание изображения здесь

Я получил эту проблему, когда мой Xcode был 9.2. Сначала я удалил файл xcworkspace, очистил и построил в соответствии с ответом других. Но это не сработало. Затем я обновил Xcode до 9.3. Он также не работал. Я проверил свой код и обнаружил, что недавно написанный код сделал Xcode Indexing навсегда:

TimeInterval(3600*24*(-randomDay))

Затем я внесла поправки:

TimeInterval(-3600*24*randomDay)

Это сработало. Я обнаружил, что многие ситуации могут привести к тому, что Xcode будет работать ненормально. Поэтому я считаю, что правильное решение - подумать о том, что вы сделали для своего проекта в последнее время

Ответ 20

Ничто не работало для меня, мой проект слишком велик (слияние объективных c, c++, swift и java файлов с j2obj). Я отключил индексирование Xcode и работал без завершения кода в течение нескольких месяцев (и это боль). Но, наконец, я нашел обходное решение. Идея состоит в том, чтобы индексировать код Xcode, но ограничивать его использование ЦП внешним инструментом, например, cputhrottle. Я раскрыл свое "решение" здесь: как предотвратить Xcode, используя 100% процессора при индексировании больших проектов

Ответ 21

В моем случае проблема была вызвана некоторыми арифметическими суммами. Я создавал collectionView со всеми различными фреймами программно, делая это так:

cell.textView.frame = CGRectMake(8 + 10 + 12, 0, 150 + 6 + 6 + 4, 50)

Я просто изменил это на:

cell.textView.frame = CGRectMake(30, 0, 166, 50)

Это помогает мне легче вычислять поля и отступы, но простое суммирование результата изменяет скорость сборки с 5 - 7 минут до 20 секунд или около того.

Ответ 22

Еще одна возможная вещь, которая может вызвать такое поведение: для целей отладки я изменил системное время, установленное неделю назад, - и у меня есть бесконечная индексация. Как только я установил время назад - индексация прекратилась.

Ответ 23

в моем случае у меня был открыт эмулятор с приложением, созданным из предыдущих файлов. Просто закройте де эмулятор

Ответ 24

Я перепробовал все перечисленное, индексирование постоянно зависало. Это помогло мне: если ваша индексация зависла, и у вас один или несколько быстрых процессов, которые потребляют 99% вашего процессора - просто убейте эту быструю задачу (и), подождите немного, и прогресс должен двигаться. Он может повторяться до тех пор, пока не достигнет финиша, в моем случае я прервал процесс 7 раз, но в конце индексирование было завершено!

Ответ 25

Моя особая проблема была довольно длинным литералом, содержащим много данных. Мое решение состояло в том, чтобы понять, что индексирование XCode не было "застряло", но прошло довольно много времени. Поэтому мне осталось ждать больше времени, чем я ожидал.

Ответ 26

Это обходной путь, который я опубликовал в другом fooobar.com/info/77403/... связанном с проблемой индексирования Xcode. Этот вопрос выглядит более быстрым, но мое обходное решение, вероятно, может быть полезно и здесь. Так вот оно. Мой проект очень большой (слияние объектных c, c++, swift и java файлов с j2obj), и ни один из ответов здесь не решил проблему индексирования. Идея состоит в том, чтобы ограничить использование процессором процесса индексирования Xcode с помощью внешнего инструмента, такого как cputhrottle.

Поэтому сначала вам нужно установить cputhrottle в терминал

варить установку cputhrottle

Затем ограничьте процесс индексирования Xcode следующим образом (20 = 20%),

sudo cputhrottle $ (pgrep -f com.apple.dt.SKAgent) 20

Я раскрыл свое "решение" здесь с более подробной информацией: как предотвратить Xcode, используя 100% процессора при индексировании больших проектов