2015-10-31 3 views
4

Привет, когда я пытаюсь запустить приложение в Xcode 7.1 на устройстве, я получаю следующую ошибку. Можете ли вы рассказать мне об этом. Он отлично работает на симуляторе.Неопределенные символы для архитектуры arm64 в Xcode 7.1

неопределенные символы для архитектуры arm64: "_OBJC_CLASS _ $ _ ADAuthenticationContext", ссылочные из: ObjC-класса реф в LoadingViewController.o LD: Символ (ы) не найдено для архитектуры arm64 лязг: ошибка: команда линкер не удалось с кодом выхода 1 (используйте опцию -v, чтобы вызов)

+0

Это обычный шаблон Xcode или u, использующий сторонние структуры/проекты? –

+0

Это зависит от того, что такое 'ADAuthenticationContext'. Если это часть библиотеки/рамки, вам необходимо связать ее с вашим приложением. Если он определен в исходном коде, вам нужно добавить его в свой проект и создать его в своей цели. –

+0

Я только что включил библиотеку ADAL library .a в проект, добавил необходимые заголовки и установил otherlinkerflags в "-ObjC". –

ответ

2

Это может быть, что библиотека, которая состоит из класса ADAuthenticationContext не скомпилированные для arm64 архитектуры, только для armv7/armv7s.

Вы можете отключить поддержку arm64 в проекте путем изменений поддерживаемых архитектур и Правильных Architectures в Строительстве Настройки, то для этого случая компиляции и компоновок должны работать.

Обратите внимание: App Store не принимает ваше приложение без поддержки arm64.

Попробуйте обновить свою библиотеку или перекомпилировать ее самостоятельно, если это возможно.

+1

Итак, если App Store не примет приложение без поддержки arm64, в чем смысл отключить архитектуру arm64? Реально, единственный вариант - не включать эту структуру - правильно? – noobsmcgoobs

+1

У вас может быть ваше распределение позади магазина приложений - например. корпоративные внутренние сборки. Тогда для магазина недостаточно требований к магазину. В случае распространения магазина приложений - мое последнее предложение в ответе - «Попробуйте обновить свою библиотеку или перекомпилировать ее самостоятельно, если это возможно». Думаю, удалить библиотеку - это худший или, может быть, не вариант. – DisableR