Xcode 9 сохраняет индексирование на 100% CPU [дубликат]

Для тех, кто находит это в будущем, я бы не рекомендовал использовать mail. Есть несколько ответов, которые касаются этого, но не из-за этого.

Функция PHP mail не только непрозрачна, но и полностью зависит от того, какой MTA вы используете (то есть Sendmail) для выполнения этой работы. mail ТОЛЬКО скажет вам, не удалось ли MTA принять его (т. е. Sendmail не был отправлен, когда вы пытались отправить). Он не может сказать вам, была ли почта успешной, потому что она была передана. Как таковой (как детали ответов Джона Конде), вы теперь можете возиться с журналами MTA и надеяться, что он расскажет вам об отсутствии возможности исправить его. Если вы находитесь на общем хосте или не имеете доступа к журналам MTA, вам не повезло. К сожалению, по умолчанию для большинства ванильных инсталляций для Linux обрабатывается так.

Почтовая библиотека ( PHPMailer , Zend Framework 2+ и т. д.) делает что-то очень отличное от mail. То, что они делают, это открыть сокет непосредственно на принимающем почтовом сервере, а затем отправить SMTP-почтовые команды непосредственно через этот сокет. Другими словами, класс действует как собственный MTA (обратите внимание, что вы можете сказать библиотекам использовать mail, чтобы в конечном итоге отправить почту, но я настоятельно рекомендую вам не делать этого).

Что это означает, что вы можете непосредственно видеть ответы с принимающего сервера (например, в PHPMailer вы можете включить вывод отладки ). Больше не гадать, если почта не была отправлена ​​или почему.

Если вы используете SMTP (то есть вы вызываете isSMTP()), вы можете получить подробную расшифровку протокола SMTP, используя свойство SMTPDebug.

Установите этот параметр, включив в свой скрипт такую ​​строку:

$mail->SMTPDebug = 2;

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

95
задан tomDev 9 March 2016 в 01:52
поделиться

30 ответов

  1. Откройте папку проекта.
  2. Найдите файл ProjectName.xcodeproj.
  3. Скопируйте и вставьте в безопасное место правой кнопкой мыши.
  4. Нажмите «Показать содержимое пакета».
  5. Найдите файл project.xcworkspace и удалите этот файл.
  6. Повторно запустите проект и очистите и перестройте.

Если ваш проблема не решена, а затем замените файл резервным файлом.

137
ответ дан CarmeloS 21 August 2018 в 23:31
поделиться
  • 1
    Не удается найти файл project.xcworkspace внутри файла * .xcodeproj на xcode 6.2. Ответ на aleksandar-vacic работал для меня. – Kie 22 March 2015 в 10:53
  • 2
    Это все еще работало для меня на Xcode 7.3.1 - ничего себе! – Nick Lee 23 July 2016 в 02:42
  • 3
    Не могли бы вы рассказать о том, что этот файл для / как он связан с проблемой? – de. 31 August 2016 в 12:54
  • 4
    Работает в Xcode 9 – jffgrdnr 10 October 2017 в 22:22
  • 5
    Работает на Xcode 9.3 – Das 24 April 2018 в 07:47
  1. Закройте этот проект из Xcode
  2. Откройте Xcode Organizer, найдите проблемный проект
  3. Удалите папку Derived Data в Organizer
  4. Close / re -open Xcode

Nuking Derived Data - первое, что нужно попробовать во всех случаях неудачного Xcode

59
ответ дан Aleksandar Vacić 21 August 2018 в 23:31
поделиться
  • 1
    Ага. Это для Xcode 6.2 – Kie 22 March 2015 в 10:52
  • 2
    Обратите внимание, что в Xcode 6.4 вы должны перейти в Window → Projects вместо Organizer. – kennytm 16 August 2015 в 19:35
  • 3
    Путь более простое решение, чем принятый ответ, спасибо! – Tim 10 April 2016 в 14:14
  • 4
    Производные данные находятся в ~ / Library / Developer / Xcode / DerivedData / на моей машине. – Suragch 23 April 2016 в 02:41
  • 5
    Работал для меня на Xcode 7.3 – Jamal Zafar 20 September 2016 в 06:55

Я также столкнулся с этой проблемой при установке новой версии XCode. Я решил это, используя следующее решение: я открыл свой проект в XCode на всю ночь, это исправило мою проблему.

0
ответ дан Andrew Romanov 21 August 2018 в 23:31
поделиться

Столкнувшись с этим недавно на XCode 7.3.1 - для меня, я заметил, что использование ОЗУ будет 100% на CleanMyMac3. Проблема волшебным образом закрепилась после перезагрузки моей машины. Справедливости ради, однако, я уже пошел вперед и попробовал принятый ответ, так что вы захотите сделать то же самое, прежде чем перезапустить на всякий случай: -)

0
ответ дан Angad 21 August 2018 в 23:31
поделиться

У меня была такая же проблема в swift 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
}
0
ответ дан Chéyo 21 August 2018 в 23:31
поделиться

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

1
ответ дан chetstone 21 August 2018 в 23:31
поделиться
  • 1
    То же самое здесь, я прервал Карфаген, восстановленный ранее. По-видимому, не все процессы перестали работать, поэтому я использую некоторые файлы. Закрытие терминала и закрытие-повторное открытие XCode сделали трюк. – CyberDude 8 April 2016 в 07:45

У меня была аналогичная проблема, и я обнаружил, что я случайно определил класс как свой собственный подкласс. Я не получил никаких предупреждений или ошибок, но компиляция застряла.

class mainClass : mainClass
{
    ...
}
8
ответ дан Chuck 21 August 2018 в 23:31
поделиться
  • 1
    Это ответ, как и любой другой. Мой ответ говорит: «Эй, может быть, в одном из твоих классов ты выходишь из того же класса. Это может быть проблемой, потому что я испытал поведение, которое вы описываете, когда я получаю от того же класса. & Quot ;. Почему это не должно быть правильным ответом? – Philipp Otto 9 October 2015 в 11:14
  • 2
    Фактически, это было решение индексирования, застревание в моем случае. Отличный ответ! – rghome 20 December 2015 в 18:06
  • 3
    Почему это приводит (эффективно) к сбою подпроцесса Xcode и не приводит к ошибке, как и любые другие ошибки кода? – Kirkland 20 December 2016 в 14:47

Для меня полностью закрытие Xcode, а затем перезапуск проекта работал.

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

3
ответ дан Community 21 August 2018 в 23:31
поделиться

Это случилось со мной. Если вы используете cocoapods, сделайте следующее:

  1. Удалить project.xcworkspace
  2. Переустановить модули с помощью «pod install» на терминале
  3. . Он создаст new project.xcworkspace
  4. Откройте новое project.xcworkspace -> Clean -> Build
0
ответ дан Dennis Keith Gaso 21 August 2018 в 23:31
поделиться

Я столкнулся с этой проблемой в некоторых проектах с Xcode 9.3.1, и в моем случае проблема связана с некоторым быстрым кодом, который по какой-то причине Xcode не нравится. Эта проблема трудно решить, потому что трудно найти, какой файл вызывает проблему.

Когда у меня возникает эта проблема, я удаляю некоторые файлы из проекта Xcode (удаление ссылок), и я пытаюсь проверить, работает. Мой процесс для этого

  1. Удалить некоторые файлы
  2. Закрыть Xcode
  3. Открыть Xcode
  4. Если индексирование завершено, попробуйте переименовать некоторые метод, если работает, вероятно, файлы, которые вы удалили, у них есть что-то странное для Xcode.

В моем случае у меня было определение класса с реактивным расширением в том же файле, и по какой-то причине Xcode ему не нравится, я переместил реактивное расширение в другой файл и теперь индексирование отлично работает.

0
ответ дан El Belga 21 August 2018 в 23:31
поделиться

Еще одна вещь, которую вы пытаетесь решить, пытаясь решить проблемы с индексацией, и вы так далеко от страницы!

Попробуйте добавить этот флаг к настройкам сборки.

Xfrontend -warn-long-expression-type-checking=400

build settings flag [/g0]

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

warning [/g1]

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

2
ответ дан greencardigan 21 August 2018 в 23:31
поделиться

Эта проблема произошла со мной, когда моя машина была вне пространства подкачки. Закрытие нескольких программ и вкладок браузера, и сборка неожиданно преуспела после 30 минут застревания на месте. Нет ничего общего с производными данными, заблокированными файлами и т. Д. На моей стороне.

0
ответ дан Jacob Torres 21 August 2018 в 23:31
поделиться

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

20
ответ дан Jehan 21 August 2018 в 23:31
поделиться
  • 1
    Мне то же. Работает для массива 4x4. Массив 6x6 был слишком большим для xcode ... drama – dfens 27 June 2016 в 17:01
  • 2
    @Jehan. Вы правы, но если ваш тип определения массива не займет много времени, моя проблема будет решена. Как, например, let propertyType: [[[String: String]]] = [[[[& quot; свойствоKey & quot;: & quot; Все типы & quot;], [& quot; свойствоKey & quot; & quot; Дом & quot;]], [[& quot; свойствоKey ": & quot; Квартира & amp; Единица "], [" свойствоKey ":« Таунхаус »]] ....... Итак.] Если вы не определяете тип, потребуется больше времени – Shrikant K 2 September 2016 в 10:22
  • 3
    Мне то же. Это абсолютно причудливый и реальный провал со стороны Apple и Xcode – wuf810 6 January 2017 в 19:20
  • 4
    Как вы узнаете те места в коде, с которым компилятор застревает? – Tomasz Nazarenko 23 November 2017 в 10:37
  • 5
    @ ТомазНазаренко - Смотрите мой ответ ниже. Вы можете получить xcode, чтобы предупредить вас о коде, который слишком долго подходит для разработки. – greencardigan 24 April 2018 в 09:01

Была аналогичная проблема в Xcode 6.4. Индикатор выполнения показал, что «Индексирование» было «приостановлено». Попробовал удалить project.xcworkspace, а затем удалить Derived Data, как описано выше. Кажется, не помогло. Отмечая, что сообщения выше также предлагают исправление предупреждений, и поскольку я унаследовал этот огромный проект с 180 предупреждениями, я сказал себе: «Какого черта это выглядит как хороший день для исправления предупреждений». Когда я исправлял предупреждения, через полчаса я заметил, что индикатор прогресса «Индексация» увеличился с 10% до 20%. Через час это было на уровне 50%, затем на час до 80%, затем через полчаса это было сделано! Вывод: добавьте «взять длинный обед или сон» к вышеуказанным предложениям.

1
ответ дан Jerry Krinock 21 August 2018 в 23:31
поделиться
  1. Закройте любой открытый Xcode
  2. rm -rf ~/Library/Developer/Xcode/DerivedData
  3. Щелкните правой кнопкой мыши свой PROJECT_NAME.xcworkspace, выберите «показать содержимое» и удалите папку «xcuserdata»
7
ответ дан kjian 21 August 2018 в 23:31
поделиться

Я испытал ту же проблему для Xcode 7.0 beta. В моем случае значения «Профиль подготовки» и «Идентификатор продукта» в «Параметры сборки» отличались между PROJECT и TARGETS. Я установил для них одинаковые значения. И я также использовал те же значения для TARGETS «appName» и «appNameTest». Затем закрыл проект и снова открыл его. Это разрешило мое дело.

1
ответ дан manispin 21 August 2018 в 23:31
поделиться

Мое дело: это не файл 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) {
}

Чтобы сходить с ума! Правда в том, что это вызывает беспокойство (потому что нет синтаксической ошибки или любого типа)

0
ответ дан Markus 21 August 2018 в 23:31
поделиться

Для проблемы индексирования XCode 9.3 - Удалите XCode и установите снова с нуля. Работает для меня.

0
ответ дан Maximo Lucosi 21 August 2018 в 23:31
поделиться

Закройте свой Xcode, закройте любой git-клиент (исходное дерево или терминал), если он открыт и, наконец, перезапустите проект.

0
ответ дан Mohit Anand 21 August 2018 в 23:31
поделиться

Также прекратите выполнение приложения. если у вас есть другое приложение, работающее с вашим xcode, сначала остановите его, и вы продолжите индексирование.

0
ответ дан nferocious76 21 August 2018 в 23:31
поделиться

При использовании Xcode 6 и он говорит

Ожидание make

Возможно, экземпляр make уже запущен. Убейте процесс и индексирование. Глупо, но работал для меня.

8
ответ дан oarfish 21 August 2018 в 23:31
поделиться
  • 1
    Работал для меня в Xcode 7 Beta. Благодаря! – acjay 7 October 2015 в 13:23
  • 2
    Это исправило это для меня. У меня был контейнер Docker, работающий с «make start». на заднем фоне. – Devin Young 4 February 2016 в 12:24
  • Сначала отключите доступ в Интернет. И ваша проводная сетевая карта, и беспроводная сетевая карта должны отключиться.
  • Во-вторых, убейте com.apple.dt.SourceKitService prcess. Затем XCode начнет индексировать снова вместо того, чтобы застрять.

1
ответ дан ooOlly 21 August 2018 в 23:31
поделиться

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

Тогда я заметил предупреждение в проекте о неправильном назначении self в качестве делегата. Разумеется, в декларации класса отсутствовал протокол. Обратите внимание, что в образцовом коде OP есть аналогичное назначение (хотя из образца невозможно сообщить, правильно ли объявлен протокол):

leaderboardController.leaderboardDelegate == self;

После разрешения этого предупреждения (путем правильного объявления реализованного протокол), Xcode перестала ошибочно работать. Кроме того, я должен отметить, что проект выполнялся правильно, поскольку методы протокола были реализованы . Просто Xcode не смог подтвердить , что протокол должен фактически реализоваться классом.

2
ответ дан Peter Gluck 21 August 2018 в 23:31
поделиться

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

2
ответ дан Pink Panther 21 August 2018 в 23:31
поделиться

Я исправил это, просто удалив приложение с моего устройства и перестроил.

0
ответ дан Robert Sandru 21 August 2018 в 23:31
поделиться

Удерживать alt> Продукт> Очистить папку сборки

3
ответ дан rogger2016 21 August 2018 в 23:31
поделиться

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

So QuitXCode> Откройте ваш проект и убедитесь, что открыт только один экземпляр> Очистить> Папка CleanBuild в некоторых случаях> build.

Он должен работать

0
ответ дан Shahid 21 August 2018 в 23:31
поделиться

Я закрыл свой xCode и снова открыл проект, решив мою проблему.

0
ответ дан sumon 21 August 2018 в 23:31
поделиться

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

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

Класс наследует сам, что вызывает замораживание. Нет подсказки сообщения от Xcode.

1
ответ дан Victor Choy 21 August 2018 в 23:31
поделиться
  • 1
    Это очень вероятная причина. Это было в моем случае. Я почти уверен, что столкнулся с этим и раньше. – Form 9 January 2017 в 18:06

Для меня причина в том, что я одновременно открыл один и тот же файл в обоих редакторах Primary Editor и Assistant Editor . Как только я закрыл помощника редактора, он прошел. (Версия Xcode 7.2.1)

0
ответ дан wye 21 August 2018 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: