Registrierung für Push-Benachrichtigungen in Xcode 8 / Swift 3.0?
Ich versuche meine app zu arbeiten in Xcode 8.0, und bin laufen in einen Fehler. Ich weiß, dieser code funktionierte gut, in früheren Versionen von swift, aber ich gehe davon aus, dass der code für diese ist in der neuen version geändert. Hier ist der code, den ich versuche zu laufen:
let settings = UIUserNotificationSettings(forTypes: [.Sound, .Alert, .Badge], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
UIApplication.shared().registerForRemoteNotifications()
Den Fehler, dass ich bekomme ist " - Argument labels '(forTypes:, Kategorien:)' passen nicht alle verfügbaren überladungen"
Gibt es einen anderen Befehl, dass ich versuchen könnte, damit es funktioniert?
Kommentar zu dem Problem
Ich schrieb eine Anleitung, wie man genau das tun: eladnava.com/...
Benachrichtigung bei Swift 3.0 : iosdevcenters.blogspot.com/2016/09/...
InformationsquelleAutor der Frage Asher Hawthorne | 2016-06-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anfrage Benutzer die Berechtigung
Immer device-token
Im Falle eines Fehlers
Im Falle dass, wenn Sie brauchen, um zu wissen, die Berechtigungen
InformationsquelleAutor der Antwort Anish 웃
InformationsquelleAutor der Antwort Brandon
Hatte ich Probleme mit dem Antworten hier in der Umwandlung der deviceToken Daten-Objekt in eine Zeichenfolge zu senden, um meinen server mit der aktuellen beta von Xcode 8. Vor allem die, die mit deviceToken.Beschreibung wie in 8.0b6 zurückgeben würde "32 Bytes", das ist nicht sehr sinnvoll 🙂
Dies ist was für mich gearbeitet...
Erstellen eine Erweiterung auf Daten, die für die Implementierung einer "hexString" - Methode:
Dann verwenden, wenn Sie erhalten die callback-Registrierung für remote-Benachrichtigungen:
InformationsquelleAutor der Antwort tomwilson
In iOS10 anstelle des Codes, sollten Sie einen Antrag auf eine Bewilligung für die Benachrichtigung mit der folgenden: (vergessen Sie nicht, fügen Sie die
UserNotifications
Framework)Auch der richtige code für dich ist (Verwendung in der
else
von den früheren Zustand, zum Beispiel):Schließlich, stellen Sie sicher, dass
Push Notification
aktiviert ist untertarget
->Capabilities
->Push notification
. (setzen Sie ihn aufOn
)InformationsquelleAutor der Antwort tsnkff
Nächste, gehen Sie zu den Projekt-editor, um Ihr Ziel, und in der Registerkarte allgemein, suchen Sie die Verlinkten Frameworks und Bibliotheken Abschnitt.
Klicken Sie auf +, und wählen Sie UserNotifications.Rahmen:
Verwenden Sie Notification delegate-Methoden
Für den Empfang von push-Benachrichtigung
Überprüfen Sie den link unten für weitere Benachrichtigung delegate-Methoden
InformationsquelleAutor der Antwort Jaleel Nazir
Gut diese Arbeit für mich.
Zuerst in AppDelegate
Dann:
Bekommen devicetoken:
InformationsquelleAutor der Antwort GoIn Su
Heads-up, Sie sollten mit den Haupt-thread für diese Aktion.
InformationsquelleAutor der Antwort Mavrick Laakso
Ersten, hören Benachrichtigung des Benutzers, status, D. H.,
registerForRemoteNotifications()
zu bekommen APNs-device-token;Zweiten, Antrag auf Genehmigung. Wenn die Genehmigung von dem Benutzer, deviceToken gesendet, um die Hörer, die
AppDelegate
;Dritten, Bericht der device-token an Ihren server.
InformationsquelleAutor der Antwort Dawn Song
Tun Sie einfach Folgendes in
didFinishWithLaunching:
:Erinnern, über import-Anweisung:
InformationsquelleAutor der Antwort Bartłomiej Semańczyk
Die Antwort von ast1 ist sehr einfach und nützlich. Es funktioniert für mich, ich danke Ihnen so sehr.
Ich will einfach nur, um poin es hier so Menschen, die brauchen diese Antwort kann es leicht finden. So, hier ist mein code von der Registrierung von lokalen und remote - (push -) Benachrichtigung.
InformationsquelleAutor der Antwort Luthfi Rahman
Werfen Sie einen Blick auf diese kommentierten code:
Lassen Sie mich wissen, wenn es irgendein problem gibt!
InformationsquelleAutor der Antwort CrazyPro007
Hier ist der code in Swift 4.1 und Xcode 9.3
In iOS 10, ein neues framework namens UserNotifications eingeführt wurde und importiert werden müssen, um Zugriff auf die UNUserNotificationCenter Klasse.
Fügen Sie die folgende import-Anweisung am Anfang des AppDelegate.swift
import UserNotifications
Nächste, gehen Sie zu den Projekt-editor, um Ihr Ziel, und in der Registerkarte allgemein, suchen Sie die Verlinkten Frameworks und Bibliotheken Abschnitt.
Klicken Sie auf +, und wählen Sie UserNotifications.Rahmen
Benutzer folgenden Methoden, um registrieren und behandeln APNS
InformationsquelleAutor der Antwort Gurjinder Singh Khalsa
InformationsquelleAutor der Antwort Memtimen