UNUserNotificationCenter-Verbindungsfehler

9

Ich habe ein Xcode-Projekt, Xcode 8.1 (8B62) mit zwei Targets, eines für die kostenpflichtige Version der Anwendung und das andere für die kostenlose Version. Beide verwalten Fernbedienungen Push-Benachrichtigungen. Seit ich die Änderungen für iOS 10 mit dem neuen Framework UNUserNotificationCenter.framwork vorgenommen habe, ist alles in Ordnung für das erste Ziel und ich habe einen Linkfehler für den zweiten. Es funktionierte unter iOS 9 mit den alten Methoden gut. Was ich für beide Ziele getan habe:

  • Funktionen: Aktivierte Push-Benachrichtigungen (Berechtigungen werden ordnungsgemäß aktualisiert)
  • In AppDelegate.h: #import
  • In AppDelegate.m: Der Code wurde mit den neuen Methoden
  • aktualisiert

Es ist der gleiche Code für beide Ziele.

Leider habe ich für das zweite Ziel den folgenden Fehler:

Nicht definierte Symbole für Architektur arm64: "_OBJC_CLASS _ $ _ UNUserNotificationCenter", referenziert von: Objc-Klasse-Verweis in AppDelegate.o Ld: Symbol (e) nicht für Architektur gefunden Clang: Fehler: Der Linker-Befehl ist mit dem Beendigungscode 1 fehlgeschlagen (verwenden Sie -v, um den Aufruf anzuzeigen)

Ich habe mehrere Male sauber gemacht und säubere Bauzielordner, starte Xcode neu, starte den Computer neu, aber nichts ist getan.

Nichts in den verschiedenen Foren gefunden ...

Hilfe wäre willkommen. Vielen Dank im Voraus.

    
Patrick Bodet 19.11.2016, 10:27
quelle

3 Antworten

23

Sie verknüpfen nicht mit UserNotifications.framework .

  • Wählen Sie Ihr Ziel
  • Zeige seine "Build Phasen"
  • Assure UserNotifications.framework existiert in "Link Binary with Libraries"

Wenn nicht:

  • Klicken Sie auf "+" und fügen Sie es hinzu
shallowThought 19.11.2016, 10:53
quelle
1

Stellen Sie sicher, dass UserNotifications.framework in Ihrem Target > General > Linked Frameworks and Libraries

vorhanden ist     
Munahil 19.11.2016 11:15
quelle
1

Ich hatte fast genau das gleiche Problem, mit zwei Zielen, eins für die kostenlose Version, eins für die kostenpflichtige Version.

Ich vermute stark, dass der Unterschied darin bestand, dass "Module aktivieren" mit einem Ziel JA war (das war das Ziel für die kostenlose Version, wo ich einen @import für Admob machte), während mit dem anderen Ziel "Aktivieren Module "war NEIN. Wie Magie, musste ich UserNotifications.framework in "Link Binary with Libraries" in Build-Phasen für das Ziel nicht hinzufügen, wo "Enable modules" YES war. Für das Ziel, bei dem "Module aktivieren" jedoch NEIN war, habe ich

%Vor%

und es ging weg, indem Sie UserNotifications.framework manuell zu "Link Binary with Libraries" hinzufügen.

Vielleicht ist die Regel, das muss genau dann gemacht werden, wenn Module nicht aktiviert sind.

    
auspicious99 15.09.2017 14:05
quelle