如何在视图控制器中显示 apns 令牌?

How to present apns token in view controller?

我不明白如何在视图控制器中将 apns 标记显示为字符串。尝试了很多东西,但没有解决。在 swift 4.

从 AppDelegate didregisterforremotenotificationswithdevicetoken 将设备令牌保存在 UserDefaults 中,然后在其他 viewController.

中使用

1.

您可以按照 Halil 的建议将其保存到 UserDefaults:

UserDefaults.standard.set(yourAPNSToken, forKey: "APNSToken")

并在您的 ViewController 中检索它:

let token = UserDefaults.standard.string(forKey: "APNSToken")

2.

或者您可以在 AppDelegate 中创建新变量并从您的 VC

访问它

在您的 AppDelegate 中:

public var token = String()

token = yourAPNSToken

在你的VC

里面
let newToken = (UIApplication.shared.delegate as! AppDelegate).token

一旦您的应用程序注册了 APNS 并且您在 didRegisterForRemoteNotificationsWithDeviceToken 中获得了 DeviceToken 作为数据,您就可以像这样将该数据转换为字符串。

 var token: String = deviceToken.description.trimmingCharacters(in: CharacterSet(charactersIn: "<>"))
 token = token.replacingOccurrences(of: " ", with: "")
 print("device token ---\(token)")

如果您想将其存储在用户默认值中,请使用它。

 UserDefaults.standard.set(token, forKey: "deviceToken")