Удаленные уведомления Microsoft Azure в Swift 3

Я работаю над приложением iOS в Xcode 8.2.1, используя Swift 3.0. Мне бы хотелось, чтобы это приложение могло получать удаленные push-уведомления с помощью Microsoft Azure. Однако у меня возникли проблемы с реализацией этого. Большинство руководств, которые я нашел, предназначены для более старых версий Swift и больше не работают.

Единственный, кого я смог найти для версии 3.0, это этот. Однако, похоже, это тоже не работает. Я следовал руководству, но получил следующую ошибку:

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_AEIdfaProvider", referenced from:
      objc-class-ref in libengagement.a(AEDeviceIDManager.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я считаю, что класс AEIdfaProvider не может быть найден, даже если он включен в проект.

Если бы кто-нибудь мог дать подсказку о том, как решить эту проблему, или если бы было другое руководство, которое я мог бы сделать, я был бы рад услышать это!

1 ответ

Вы пытаетесь использовать Objective-C lib в проекте Swift.
Вот почему вы должны также добавить этот класс в файл заголовка моста.

У Microsoft есть пошаговое руководство по использованию SDK Mobile Engagement, см. Шаги № 6, № 7, № 8, приведенные в разделе Подключение вашего приложения к главному документу Mobile Engagement.

Так что проверьте ваш файл Bridging Header на наличие AEIdfaProvider в нем.
Также важно - не забудьте связать библиотеку libengagement.a, также проверьте ее.

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