Символ (ы) не найдены для архитектуры x86_64 в xcode 10

Я столкнулся с проблемой в моем проекте IOS. символы не найдены для архитектуры x86_64 в xcode clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Заранее спасибо!!

2 ответа

В большинстве случаев это указывает на одну или несколько пропущенных ссылок на каркасы в разделе Связанные фреймворки и библиотеки в настройках целей приложения в XCode.

Чтобы узнать, какая ссылка должна быть добавлена:

  • Щелкните правой кнопкой мыши на ошибке в списке ошибок времени сборки
  • Выберите "Показать в журнале",
  • Поиск в журнале "Неопределенные символы для архитектуры x86_64"
  • Отображается список неопределенных "символов" (в основном, методов и свойств класса)
  • Чтобы узнать, какая ссылка должна быть добавлена, выберите такой неопределенный символ, щелкните правой кнопкой мыши и выберите Поиск с помощью Google.
  • В большинстве случаев вы попадете в документацию Apple, которая должна дать подсказку о соответствующей платформе
  • Добавьте фреймворк в раздел "Связанные фреймворки и библиотеки", нажав кнопку "+".
  • Создайте приложение.
  • При необходимости повторите эту процедуру для оставшихся неопределенных "символов".

У меня была точно такая же проблема при запуске модульных тестов для приложения, в котором в качестве зависимости использовалась пользовательская среда. Приложение работало нормально, но не его модульные тесты (я получаю точную ошибку, показанную выше). Я решил это следующим образом: - Выберите цель модульного теста для приложения (например, Тесты) - В разделе "Тестирование" включите "Разрешить тестирование API хост-приложений"

Это ошибка времени компиляции, которая вызвана Static Linker

ld: symbol(s) not found for ...
...
Undefined symbols for 

Вы должны добавить библиотеку или фреймворк в General -> Linked Frameworks and Libraries раздел

Другие вопросы по тегам