Как использовать AirWatch SDK в iOS-проекте Xamarin (Forms)? - PullRequest
0 голосов
/ 08 января 2019

AirWatch SDK позволяет включать функции MDM в приложение iOS. Я следовал инструкциям с сайта VMWare здесь .

К сожалению, после добавления пакета NuGet в мой проект iOS, проект не может быть скомпилирован и выдает более 300 ошибок компиляции типа

MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: AWWebsiteFilteringPayload. 

Символ '_OBJC_CLASS _ $ _ AWWebsiteFilteringPayload' не найден в любой из библиотек или структур, связанных с вашим приложением.

1 Ответ

0 голосов
/ 08 января 2019

Причиной ошибок компиляции является платформа (iPhone Simulator vs Device), для которой создан проект, и поддерживаемые архитектуры.

Изменение параметра сборки для целевого устройства позволяет избежать ошибок компиляции.

Если прокрутить выходные данные сборки, вы увидите что-то вроде этого

ld : warning : ignoring file /Path/To/Your/Project/MyApp.iOS/obj/iPhoneSimulator/Debug/device-builds/iphone10.4-12.1/mtouch-cache/AWSDK.a, missing required architecture x86_64 in file /Path/To/Your/Project/MyApp.iOS/obj/iPhoneSimulator/Debug/device-builds/iphone10.4-12.1/mtouch-cache/AWSDK.a (2 slices)
    Undefined symbols for architecture x86_64:
      "_OBJC_CLASS_$_AWWebsiteFilteringPayload", referenced from:
         -u command line option 

Этот ответ Stackoverflow помог обнаружить архитектуры, нацеленные в .a файл

В окне терминала введите

lipo -info /Path/To/AWSDK.a

, который возвращает

Architectures in the fat file: AWSDK.a are: armv7 arm64

Теперь щелкните правой кнопкой мыши проект iOS и откройте окно «Параметры». Перейдите в раздел «Сборка iOS». В раскрывающемся списке «Платформа iPhone» Проверьте раскрывающийся список Поддерживаемые архитектуры. Вы увидите i386, x86_64, i386 + x86_64, которые не поддерживаются в файле AWSDK.a.

Измените платформу на iPhone, и вы увидите опции Armxx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...