我不明白如何在视图控制器中将apns标记呈现为字符串。尝试过很多事情而且没有成功。在快速4.
答案 0 :(得分:1)
在AppDelegate的UserDefaults中保存设备令牌,然后使用其他viewController在其他viewController中使用,然后使用其他视图。
答案 1 :(得分:0)
<强> 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
答案 2 :(得分:0)
一旦您的应用注册了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")