QuickBlox:没有快速调用 didReceive 会话方法
Posted
技术标签:
【中文标题】QuickBlox:没有快速调用 didReceive 会话方法【英文标题】:QuickBlox : didReceiveNewSession Method is not gettimg called in swift 【发布时间】: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")
【问题讨论】:
【参考方案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)
【讨论】:
以上是关于QuickBlox:没有快速调用 didReceive 会话方法的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中创建 QuickBlox 会话 [关闭]
比较 Layer、Applozic、Quickblox 和 SendBird 在 Android 应用程序中的快速 WhatsApp 消息传递