【问题标题】:Unsubscribe all subscriptions on logout #Quickblox APNS & APNS.VOIP注销时取消订阅所有订阅#Quickblox APNS & APNS.VOIP
【发布时间】:2020-10-07 11:18:06
【问题描述】:

我正在尝试在 iOS swift Quickblox 项目中在注销时取消订阅订阅APNS & APNS.VOIP。它只退订其中一个,任何人都可以指导我。

这是我的注销代码。

@objc func didTapLogout(_ sender: UIBarButtonItem) {
        if QBChat.instance.isConnected == false {
            SVProgressHUD.showError(withStatus: "Error")
            return
        }
        SVProgressHUD.show(withStatus: "SA_STR_LOGOUTING".localized)
        SVProgressHUD.setDefaultMaskType(.clear)
        
        guard let identifierForVendor = UIDevice.current.identifierForVendor else {
            return
        }
        let uuidString = identifierForVendor.uuidString
        #if targetEnvironment(simulator)
        disconnectUser()
        #else
        QBRequest.subscriptions(successBlock: { (response, subscriptions) in
            if let subscriptions = subscriptions {
                for subscription in subscriptions {
                    if let subscriptionsUIUD = subscriptions.first?.deviceUDID,
                        subscriptionsUIUD == uuidString,
                        subscription.notificationChannel == .APNS {
                        self.unregisterSubscription(forUniqueDeviceIdentifier: uuidString)
                        return
                    }
                }
            }
            self.disconnectUser()
            
        }) { response in
            if response.status.rawValue == 404 {
                self.disconnectUser()
            }
        }
        #endif
    }
    
    private func unregisterSubscription(forUniqueDeviceIdentifier uuidString: String) {
        QBRequest.unregisterSubscription(forUniqueDeviceIdentifier: uuidString, successBlock: { response in
            self.disconnectUser()
        }, errorBlock: { error in
            if let error = error.error {
                SVProgressHUD.showError(withStatus: error.localizedDescription)
                return
            }
            SVProgressHUD.dismiss()
        })
    }

环境详情

  • 信息价值
  • iOS 版本 13.0
  • Quickblox iOS SDK 版本 2.17.4
  • QuickbloxWebRTC SDK 版本 2.7.4
  • Xcode 版本,例如Xcode 12.0

【问题讨论】:

    标签: ios swift voip quickblox unsubscribe


    【解决方案1】:

    确保您在删除订阅时已连接到聊天,并且仅在调用所有取消订阅完成时才退出。您还可以在应用中简单地取消订阅远程通知和 PushKit。

    【讨论】:

      猜你喜欢
      • 2020-07-05
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 2022-01-19
      • 2017-12-18
      • 2012-03-14
      相关资源
      最近更新 更多