gpt4 book ai didi

ios - 通过 URL 将 token 传递到 Webview IOS Swift

转载 作者:行者123 更新时间:2023-11-29 06:00:01 24 4
gpt4 key购买 nike

您好,我正在使用 webview 在我的应用程序上显示我的内容。我成功注册了 firebase。现在我想通过 URL 传递注册 token 以存储到数据库中以进行自定义通知。

appdelegate.swift

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let token = deviceToken.map {String (format: "%02.2hhx", $0)}.joined()
print(token)
}

Firebase

extension AppDelegate: MessagingDelegate {
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
print("Firebase registration token: \(fcmToken)")

//Saving fcmToken to pass to the url
let preferences = UserDefaults.standard
preferences.setValue(fcmToken, forKey: "token")
preferences.synchronize()


let dataDict:[String: String] = ["token": fcmToken]
NotificationCenter.default.post(name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict)
// TODO: If necessary send token to application server.
// Note: This callback is fired at each app startup and whenever a new token is generated.
}

这是用于viewcontroller.swift

override func viewDidLoad() {
super.viewDidLoad()

//Retrieving the fcmToken
let prefs = UserDefaults.standard
let token = prefs.string(forKey: "token")
//?token= \(token as Optional)&device=ios
webView.load(URLRequest(url: URL(string: "https://instaglamexpress.com/app/customer/?device=ios&token=\(String(describing: token))")!))
}

我无法将 token 发送到 URL..

请提出解决方案。

最佳答案

您需要使用 if let 进行可选绑定(bind),因为 prefs.string(forKey: "token") 将返回可选值。

考虑下面的代码:

let prefs = UserDefaults.standard
if let token = prefs.string(forKey: "token") {
//token is not optional anymore
webView.load(URLRequest(url: URL(string: "https://instaglamexpress.com/app/customer/?device=ios&token=\(token))")!))
}

或者您可以使用 guard let 来完成相同的工作。

关于ios - 通过 URL 将 token 传递到 Webview IOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54781201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com