【问题标题】:QuickBlox : didReceiveNewSession Method is not gettimg called in swiftQuickBlox:没有快速调用 didReceive 会话方法
【发布时间】:2016-05-04 14:32:28
【问题描述】:

我正在使用 Quickblox sdk 使用 SWIFT 语言进行视频通话项目之一。我正在尝试使用其 quickbloxid 与另一个用户通话。但是当我开始从一个设备呼叫另一台设备时。没有在另一台设备上调用 didReceiveNewSession 委托方法,并且日志显示服务不可用的错误消息。请让我知道我在哪里做错了。提前致谢。

QBRTCClient.instance().addDelegate(self) 

func didReceiveNewSession(session: QBRTCSession!, userInfo: Dictionary<NSObject, AnyObject>!)
    {
        print("received call")

    }

func session(session: QBRTCSession!, connectedToUser userID: NSNumber!) {
         AppSingletonObj.showAlert("", messsage: "connectedToUser Delegate caled")
    }

    func session(session: QBRTCSession!, disconnectedByTimeoutFromUser userID: NSNumber!) {
          AppSingletonObj.showAlert("", messsage: "disconnectedByTimeoutFromUser Delegate caled")
    }

    func session(session: QBRTCSession!, hungUpByUser userID: NSNumber!, userInfo: [NSObject : AnyObject]!) {
        AppSingletonObj.showAlert("", messsage: "hungUpByUser Delegate caled")
    }


    func session(session: QBRTCSession!, initializedLocalMediaStream mediaStream: QBRTCMediaStream!) {
          mediaStream.videoTrack.videoCapture = self.cameraCapture
        AppSingletonObj.showAlert("", messsage: "initializedLocalMediaStream Delegate caled")
    }


    func session(session: QBRTCSession!, rejectedByUser userID: NSNumber!, userInfo: [NSObject : AnyObject]!) {
        AppSingletonObj.showAlert("", messsage: "rejectedByUser Delegate caled")
    }

    func session(session: QBRTCSession!, startedConnectingToUser userID: NSNumber!) {
         AppSingletonObj.showAlert("", messsage: "startedConnectingToUser Delegate caled")
    }

    func session(session: QBRTCSession!, userDidNotRespond userID: NSNumber!) {
        AppSingletonObj.showAlert("", messsage: "userDidNotRespond Delegate caled")
    }

    func session(session: QBRTCSession!, connectionClosedForUser userID: NSNumber!) {
        AppSingletonObj.showAlert("", messsage: "connectionClosedForUser Delegate caled")
    }

    func session(session: QBRTCSession!, disconnectedFromUser userID: NSNumber!) {
        AppSingletonObj.showAlert("", messsage: "disconnectedFromUser Delegate caled")
    }


    func session(session: QBRTCSession!, updatedStatsReport report: QBRTCStatsReport!, forUserID userID: NSNumber!) {
        AppSingletonObj.showAlert("", messsage: "updatedStatsReport Delegate caled")
    }

    func session(session: QBRTCSession!, receivedRemoteVideoTrack videoTrack: QBRTCVideoTrack!, fromUser userID: NSNumber!) {
          AppSingletonObj.showAlert("", messsage: "receivedRemoteVideoTrack Delegate caled")
    }

    func session(session: QBRTCSession!, connectionFailedForUser userID: NSNumber!) {
        AppSingletonObj.showAlert("", messsage: "connectionFailedForUser Delegate caled")
    }

    func session(session: QBRTCSession!, acceptedByUser userID: NSNumber!, userInfo: [NSObject : AnyObject]!) {
        AppSingletonObj.showAlert("", messsage: "acceptedByUser Delegate caled")
    }

【问题讨论】:

    标签: ios iphone swift quickblox quickblox-android


    【解决方案1】:
    • 您是否已连接到聊天室?
    • 你也打过电话吗 QBRTCClient.initializeRTC()?

    【讨论】:

    • 是的,我已经将它连接到 QBChat 以及 initializeRTC.. 经过一些研究后,我发现问题是当我从其他设备开始通话时。
    • @aman 请在github 上创建问题并附上您的带有可重现错误的示例
    • 嘿,我在我的 Swift 项目中添加了 QBRTCClient.initializeRTC() 但在我的应用程序中仍然没有调用此方法,这可能是问题所在。这会崩溃,原因如下:[__NSCFConstantString count]: unrecognized selector sent to instance ios
    • @PradumnaPatil 是的,即使我也面临同样的问题。你是怎么解决的?
    【解决方案2】:

    请试试这个代码

    在需要添加 qbrtcclient 代理后,您还需要先添加聊天代理。我在此步骤后解决了同样的问题。

            QBChat.instance.addDelegate(self)
            QBRTCClient.instance().add(self)
    

    【讨论】:

      猜你喜欢
      • 2019-07-09
      • 1970-01-01
      • 2017-11-03
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多