我目前在我的应用中使用新的quickBlox 2.0 SDK。我在iphone 5s(i0S 8)和iphone 4s(iOS 7.1.2)上进行了测试。
我在两部手机上运行相同的代码。每次都会为iphone 5s版本正确调用代理。但是,当我在iphone 4s上执行相同的操作时,代表们永远不会被称为。
有谁知道造成这种情况的原因是什么?
在日志中,我可以清楚地看到我获取数据:
QBChat/didReceiveMessage: <message xmlns="jabber:client" type="qbvideochat_acceptCall" from="1645510-14896@chat.quickblox.com" to="1645761-14896@chat.quickblox.com" id="1441282327"><extraParams xmlns="jabber:client"><sessionID>434152105.631015</sessionID><callType>1</callType></extraParams></message>
[QBVideoChat didReceiveVideoMessage:] -> Message: <message xmlns="jabber:client" type="qbvideochat_acceptCall" from="1645510-14896@chat.quickblox.com" to="1645761-14896@chat.quickblox.com" id="1441282327"><extraParams xmlns="jabber:client"><sessionID>434152105.631015</sessionID><callType>1</callType></extraParams></message>, MessageType: qbvideochat_acceptCall
[QBVideoChat didReceiveVideoMessage:] -> Accepted call
答案 0 :(得分:1)
它在模拟器中的表现如何?您应该尝试查看它是iOS版本还是造成差异的设备类型。
你可以调试看代表是否为零?
答案 1 :(得分:0)
我终于找到了问题的原因。
问题来源:
在viewcontroller 1中,在viewDidDisappear中设置[QBChat实例] .delegate = nil
在viewcontroller 2中,在viewDidAppear中我设置了[QBChat实例] .delegate = self
解决方案:
在viewcontroller 1中删除viewDidDisappear [QBChat instance] .delegate = nil。
虽然我错误地认为[QBChat实例]是单身,但它可以在下一个VC中重置。
这对我来说非常棘手,因为原始代码在iOS 8上完美运行。