Я могу получить токен устройства из Amazon SNS, используя код в моем приложении для iOS.Чтобы создать конечную точку для моего приложения на стороне SNS, мне нужен этот токен устройства в виде текста.Я попытался инициализировать объект String со всеми возможными кодировками.Ни один из параметров кодирования не приводит к правильному формату токена устройства, как это должно выглядеть в соответствии с примером в документации Amazon SNS.Это должно выглядеть следующим образом:
29z6j5c4 df46f809 505189c4 c83fjcgf 7f6257e9 8542d2jt 3395kj73
Вот мой код в моем классе AppDelegate, где я получаю возможный токен устройства и печатаю все возможные токены устройствакодировка:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
application.registerForRemoteNotifications()
return true
}
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
print(String(data: deviceToken, encoding: .ascii))
print(String(data: deviceToken, encoding: .iso2022JP))
print(String(data: deviceToken, encoding: .isoLatin1))
print(String(data: deviceToken, encoding: .isoLatin2))
print(String(data: deviceToken, encoding: .japaneseEUC))
print(String(data: deviceToken, encoding: .macOSRoman))
print(String(data: deviceToken, encoding: .nextstep))
print(String(data: deviceToken, encoding: .nonLossyASCII))
print(String(data: deviceToken, encoding: .shiftJIS))
print(String(data: deviceToken, encoding: .symbol))
print(String(data: deviceToken, encoding: .unicode))
print(String(data: deviceToken, encoding: .utf16))
print(String(data: deviceToken, encoding: .utf16BigEndian))
print(String(data: deviceToken, encoding: .utf16LittleEndian))
print(String(data: deviceToken, encoding: .utf32))
print(String(data: deviceToken, encoding: .utf32BigEndian))
print(String(data: deviceToken, encoding: .utf32LittleEndian))
print(String(data: deviceToken, encoding: .utf8))
print(String(data: deviceToken, encoding: .windowsCP1250))
print(String(data: deviceToken, encoding: .windowsCP1251))
print(String(data: deviceToken, encoding: .windowsCP1252))
print(String(data: deviceToken, encoding: .windowsCP1253))
print(String(data: deviceToken, encoding: .windowsCP1254))
}
Вот результаты печати:
Необязательно ("ã * Î \ u {1E}] NªÙ´ \ u {0E} \ u {0E}± = T1ËêM¾DîT \ u {1C}> p® | ð ")
Необязательно (" ã * Î \ u {1E}] NªÙ´ \ u {0E} \ u {0E} ± = T1ËêM¾DîT \ u{1C}> p® | ð ")
Необязательно (" ã * Î \ u {1E}] NªÙ´ \ u {0E} \ u {0E} ± = T1ËêM¾DîT \ u {1C}> p® | ð ")
Необязательно (" ă * Î \ u {1E}] NŞŮ´ \ u {0E} \ u {0E} ą = T1ËęMžDîT \ u {1C}> pŽ | đ ")
ноль
Необязательно ("„ * Œ \ u {1E}] N ™ Ÿå ¥ \ u {0E} \ u {0E} ± = T1ÀÍáMæDÓT \ u {1C}> pçÆ | ö ")
Необязательно (" ª * ˛ \ u {1E}] N “äÌ · \ u {0E} \ u {0E} - = T1¸ŒÇM¬DôT \ u {1C}> pÍ if |öÜ ")
ноль
ноль
ноль
Необязательно (" 츞 嵎 貴 ฎ 넽 吱 쯪 쯪 비 깼 "))
Необязательно (" 츞 嵎 ) 넽 吱 쯪 蝍 비 ᰾ 炍)) ")
Необязательно (" 츞 嵎 貴 ฎ 쯪 쯪 쯪 ")
Необязательно (" ⫣")
ноль
ноль
ноль
ноль
Необязательно ("ă * Î \ u {1E}] NŞŮŚ´ \ u {0E} \ u {0E} ± = T1Ëę ‡ MľDîT \ u {1C}> pŤ® | "š")
Необязательно ("г * О \ u {1E}] NЄЩЊґ \ u {0E} \ u {0E} ± = T1Лк ‡ MѕDоT \ u {1C}> pЌ® | рљ")
ноль
ноль
ноль