Символ (ы) не найдены для архитектуры x86_64 в xcode 10
2 ответа
В большинстве случаев это указывает на одну или несколько пропущенных ссылок на каркасы в разделе Связанные фреймворки и библиотеки в настройках целей приложения в XCode.
Чтобы узнать, какая ссылка должна быть добавлена:
- Щелкните правой кнопкой мыши на ошибке в списке ошибок времени сборки
- Выберите "Показать в журнале",
- Поиск в журнале "Неопределенные символы для архитектуры x86_64"
- Отображается список неопределенных "символов" (в основном, методов и свойств класса)
- Чтобы узнать, какая ссылка должна быть добавлена, выберите такой неопределенный символ, щелкните правой кнопкой мыши и выберите Поиск с помощью Google.
- В большинстве случаев вы попадете в документацию Apple, которая должна дать подсказку о соответствующей платформе
- Добавьте фреймворк в раздел "Связанные фреймворки и библиотеки", нажав кнопку "+".
- Создайте приложение.
- При необходимости повторите эту процедуру для оставшихся неопределенных "символов".
У меня была точно такая же проблема при запуске модульных тестов для приложения, в котором в качестве зависимости использовалась пользовательская среда. Приложение работало нормально, но не его модульные тесты (я получаю точную ошибку, показанную выше). Я решил это следующим образом: - Выберите цель модульного теста для приложения (например, Тесты) - В разделе "Тестирование" включите "Разрешить тестирование API хост-приложений"
Это ошибка времени компиляции, которая вызвана Static Linker
ld: symbol(s) not found for ...
...
Undefined symbols for
Вы должны добавить библиотеку или фреймворк в General -> Linked Frameworks and Libraries
раздел