gpt4 book ai didi

ios - FCM ios 配置

转载 作者:行者123 更新时间:2023-11-28 14:10:07 25 4
gpt4 key购买 nike

我正在尝试使用 FCM 进行推送通知。我遵循文档并尝试使用:

InstanceID.instanceID().instanceID { (result, error) in
if let error = error {
print("Error fetching remote instange ID: \(error)")
} else if let result = result {
print("Remote instance ID token: \(result.token)")
self.instanceIDTokenMessage.text = "Remote InstanceID token: \(result.token)"
}
}

如文档中所述,但我不确定应该放在哪里,应该放在 didFinishLaunchingWithOptions 中吗?

我得到这个编译错误:

Static member 'instanceID' cannot be used on instance of type 'InstanceID'

最佳答案

didFinishLaunchingWithOptions中添加Observer。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
NotificationCenter.default.addObserver(self, selector: #selector(self.tokenRefreshNotification), name: NSNotification.Name.InstanceIDTokenRefresh, object: nil)
}

didRegisterForRemoteNotificationsWithDeviceToken中调用

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
self.connectToFcm()
}

方法

@objc func tokenRefreshNotification(_ notification: Notification) {
self.connectToFcm()
}

创建 1 个函数。

func connectToFcm() {
InstanceID.instanceID().instanceID { (result, error) in
if let error = error {
print("Error fetching remote instange ID: \(error)")
}
else {
print("FCM Token = \(String(describing: result?.token))")
print("Remote instance ID token: \(result.token)")
self.instanceIDTokenMessage.text = "Remote InstanceID token: \(result.token)"
}
}
}

关于ios - FCM ios 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52662718/

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