2017-03-22 3 views
1

Ich arbeite an einer iOS-App in Xcode 8.2.1 mit Swift 3.0. Ich möchte, dass diese App Remote-Push-Benachrichtigungen mit Microsoft Azure empfangen kann. Ich habe jedoch Probleme damit, dies zu implementieren. Die meisten Anleitungen, die ich gefunden habe, sind für ältere Versionen von Swift und funktionieren nicht mehr.Microsoft Azure Remote-Benachrichtigungen in Swift 3

Die einzige, die ich für Version 3.0 finden konnte, ist this one. Dies scheint jedoch auch nicht zu funktionieren. Ich folgte den Führer, bekam aber den folgenden Fehler:

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) 

Ich glaube, die Klasse AEIdfaProvider konnte nicht gefunden werden, obwohl es in dem Projekt enthalten ist.

Wenn jemand einen Hinweis geben könnte, wie das zu lösen ist, oder wenn es einen anderen Leitfaden gibt, den ich ausprobieren könnte, würde ich mich freuen, es zu hören!

+0

Konfrontiert das gleiche Problem, werfen Sie einen Blick auf diese Antwort https://Stackoverflow.com/a/44279356/3765215 – user3765215

Antwort

2

Sie versuchen, Objective-C lib in einem Swift Projekt zu verwenden.
Deshalb sollten Sie auch diese Klasse zu einem Bridging Header Datei hinzufügen.

Microsoft hat step-by-step tutorial, wie ihre SDK Mobil-Verpflichtungs verwenden finden Sie unter Schritten # 6, # 7, # 8 dort von der Verbinden Sie Ihre App auf dem Mobile-Verpflichtungs-Backend Dokument Kapitel.

Überprüfen Sie also Ihre Bridging-Header-Datei für AEIdfaProvider Existenz drin.
Auch wichtig - sicher sein, libengagement.a Bibliothek zu verbinden, überprüfen Sie es auch.