From c90e9cda1257ea9c4310252e3a51e34e9f64c034 Mon Sep 17 00:00:00 2001 From: hyonsoo_iscream Date: Wed, 9 Apr 2025 15:46:21 +0900 Subject: [PATCH] fix: registering VoIP token when auto login process --- QuickStart/AppDelegate+VoIPPush.swift | 16 ++++++++++++++-- QuickStart/AppDelegate.swift | 10 ++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/QuickStart/AppDelegate+VoIPPush.swift b/QuickStart/AppDelegate+VoIPPush.swift index 79ffead..c7090cd 100644 --- a/QuickStart/AppDelegate+VoIPPush.swift +++ b/QuickStart/AppDelegate+VoIPPush.swift @@ -24,8 +24,20 @@ extension AppDelegate: PKPushRegistryDelegate { UserDefaults.standard.voipPushToken = pushCredentials.token print("Push token is \(pushCredentials.token.toHexString())") - SendBirdCall.registerVoIPPush(token: pushCredentials.token, unique: true) { error in - guard error == nil else { return } + guard SendBirdCall.currentUser != nil else { + print("No logged in user.") + return + } + self.registerVoIPPushToken(token: pushCredentials.token) + } + + func registerVoIPPushToken(token: Data) { + SendBirdCall.registerVoIPPush(token: token, unique: true) { error in + if let error { + print("Error registering VoIP push token: \(error.localizedDescription)") + return + } + print("Successfully registered VoIP push token.") } } diff --git a/QuickStart/AppDelegate.swift b/QuickStart/AppDelegate.swift index a0096b8..a05f238 100644 --- a/QuickStart/AppDelegate.swift +++ b/QuickStart/AppDelegate.swift @@ -32,8 +32,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // SendBirdCall.configure(appId: appId) // UserDefaults.standard.designatedAppId = appId - self.autoSignIn { error in - if error == nil { return } + self.autoSignIn { [weak self] error in + guard let self else { return } + if error == nil { + if let token = UserDefaults.standard.voipPushToken { + self.registerVoIPPushToken(token: token) + } + return + } // Show SignIn controller when failed to auto sign in self.window?.rootViewController?.present(UIStoryboard.signController(), animated: true, completion: nil) }