Подтвердить что ты не робот

Xcode показывает много ошибок, но программа компилирует и работает отлично (как в симуляторе, так и в устройстве)

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

Дело в том, что я могу скомпилировать и запустить приложение для iPad просто отлично, но Xcode не будет делать автозаполнение. Я попытался очистить папку сборки (Product > option + Clean), а также удалить производные данные. Я также перезагрузился безрезультатно.

Как вы можете себе представить, это боль для работы. Раньше у меня было такое поведение в предыдущей версии Xcode; это имело какое-то отношение к материалам в моем предварительно скомпилированном файле заголовков, но использование вышеприведенного решения всегда фиксировало бы это. В настоящее время я использую Xcode 4.4 (4F250).

Ошибка выборки, которую я получаю:

Semantic Error: use of undeclared identifier 'DDTTYLogger'

Вышеизложенное происходит даже с классами, которые я написал сам и которые не изменились с момента установки класса компрессора CocoaLumberjack.

4b9b3361

Ответ 1

Я, наконец, решил это после МНОГО попыток, используя следующее:

Удалите последний #import из моего Prefix.pch и снова создайте. Ошибки произойдут (очевидно). Верните линию и постройте снова. Ошибок не обнаружено, и через 10 секунд ошибки снова вернутся.

Повторите описанное выше, вместо последнего #import удалите последние два импорта, затем три, четыре и т.д. Я сделал это до тех пор, пока я не удалю пять импорта, и когда я их верну и жду, Xcode перестанет жаловаться.

Обратите внимание, что это не произошло со мной вообще. Я читал это решение в блоге где-то.

Странная ошибка...

Ответ 2

Откройте настройки сборки и установите "Precompile Prefix Header" в "Нет", что решило мою проблему.

Престижность: fooobar.com/questions/71227/...

Ответ 3

Я постоянно сталкивался с этими проблемами во всех последних версиях Xcode, как в Objective-C, так и в Swift.

Сегодня я заметил, что получаю ошибки в одном файле класса. Я удалил его из некоторых дополнительных объектов, в которых он находился, и ошибки, наконец, исчезли!

Я думаю, что у Xcode есть некоторые фундаментальные ошибки, связанные с обработкой нескольких целей прямо сейчас. Моя теория заключается в том, что если другая цель не построена, вы по существу увидите ошибки с этой целью. В любом случае, это помогает кому-то.

Ответ 4

Эта проблема может быть вызвана настройкой "Целевого членства" для некоторых файлов, которые не совпадают.

Пример:

Класс XYZ помещается в файл "a.swift" и используется в файле "b.swift". Но параметр "Целевое членство" в "a.swift" - это не то же самое, что параметр "Целевое членство" в b.swift.

Проверьте настройку "Целевое членство", как показано ниже:

enter image description here

enter image description here

Ответ 5

У меня возникли проблемы с библиотекой, установленной через cocoapods. Переход к Build Settings и поиск "Разрешить немодульное включение в структурные модули", а затем установить его на Yes сделал трюк.

Ответ 6

Неплохо, если вы будете следовать этим Steps-

1-Чистый Xcode (Cmd + Shif + K).

2- Очистить производные данные (Cmd + Shift + G).

Введите этот путь (~/Library/Developer/Xcode/DerivedData/).

3- Выйдите и снова откройте Xcode.

Ответ 7

Для меня это помогло очистить проект. XCode- > Product- > Clean

Ответ 8

Я получил аналогичный тип проблемы.

Альтернативный вариант исправить это Откройте организатор и удалите полученные данные вашего проекта или удалите все проекты на вкладке "Проекты организатора". Он отлично работает.

Ответ 9

Я просто имел то же самое в Xcode 5.1.

Я исправил его, убедившись, что между # import

не было пустых строк,

Ответ 10

Я удалил лишние пробелы и дополнительные строки из файла .pch, и он xcode перестал жаловаться

Ответ 11

Это случилось со мной, но чистка не исправила. Что было прекращено и вновь открылось XCode. Впоследствии все ошибки phantom исчезли. Для тех, кто задается вопросом, вкладки, которые вы открываете, когда вы закрываете, по-прежнему будут открыты при повторном открытии.

Ответ 12

У меня была эта проблема недавно. Это может быть исправлено в некоторых случаях, удалив ModuleCache папку внутри DerivedData вместе с папкой проекта в DerivedData. Обратите внимание, что Xcode должен быть завершен, прежде чем сделать это.

Ответ 13

Работая на Версии Xcode 10.1 (10B61), я установил настройку сборки "Увеличить совместное использование предварительно скомпилированных заголовков" на NO. Я работал в .xcworkspace со многими проектами, использующими одни и те же фреймворки, и без заголовка моста Objective-C (то есть я сам не добавил код obj-c). Я не уверен, когда Xcode по умолчанию покончил с файлами .pch, но у меня их не было в моем проекте.

Xcode Build Settings: Increase Sharing of Precompiled Headers = NO

Ответ 14

У меня это было на Xcode 10.1, когда я случайно нажал:

Cmd + Shift + U - (сборка для тестирования)

попробуйте Очистить (Cmd + Shift + K) и затем:

Cmd + Shift + R (сборка для бега)

Ответ 15

Откройте терминал и создайте симпатичную маленькую функцию, доступную через командную строку...

nano ~/.bashrc

добавить (делая необходимые замены между заостренными скобками)

cycle() {
  git stash save "BACKUP"
  git checkout <<SOME OTHER BRANCH>>
  git branch -D $1
  xcodebuild -allowProvisioningUpdates -workspace <<YOUR WORKSPACE>>.xcworkspace -scheme <<YOUR SCHEME>> -configuration Release clean
  git checkout $1
}

^X и сохраните его, следуя подсказкам, затем введите source ~/.bashrc, чтобы сделать его видимым для текущего сеанса терминала.

Убедитесь, что ваша ветвь переведена в исходное положение, потому что мы собираемся удалить ее :)

Вызовите функцию, используя cycle <<MY BRANCH>> (после ее запуска вы можете вызвать git stash pop для восстановления любых изменений рабочей копии)

Надеюсь, это работает для вас! Xcode, включи свою игру!

Ответ 16

Попробуйте перезапустить XCode, у меня это сработало :)