func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {}
Ich möchte deviceToken
bespannen
aber:
let str = String.init(data: deviceToken, encoding: .utf8)
str
ist nil
schnell 3.0
wie kann ich lassen data
zu string
?
Registrieren für Push-Benachrichtigungen in Xcode 8 / Swift 3.0? funktioniert nicht und die Antwort ist vor ein paar Monaten, ich hatte es versucht:
und drucken:
file -I /path/to/file.txt
. Wenn nicht mit iconv konvertieren:iconv -f UTF-16LE -t UTF-8 /path/to/file.txt > /path/to/utf8/file.txt
Antworten:
Ich suchte nach der Antwort auf die Frage Swift 3 Data to String und bekam nie eine gute Antwort. Nach einigem Herumalbern kam ich auf Folgendes:
quelle
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
Ich weiß nicht warum?Hier ist meine Datenerweiterung. Wenn Sie dies hinzufügen, können Sie data.ToString () aufrufen.
quelle
quelle
Ich habe den Weg dazu gefunden. Sie müssen konvertieren
Data
zuNSData
:quelle
Dies ist in Swift 3 und später mit reduct viel einfacher:
quelle
Swift 4-Version der Antwort von 4redwings:
quelle
Laut dem folgenden Apple-Dokument kann das Gerätetoken nicht dekodiert werden. Ich denke, das Beste ist, es einfach stehen zu lassen.
quelle
Sie können
let data = String(decoding: myStr, as: UTF8.self)
hier auch eine Ressource zum Konvertieren von Daten in Zeichenfolgen verwendenquelle
Um die Antwort von weijia.wang zu erweitern:
benutze es mit
deviceToken.hexString()
quelle
Wenn Ihre Daten base64-codiert sind.
quelle
quelle
für schnelle 5
quelle