使用quickBlox iOS SDK真的很奇怪的委托问题

时间:2014-10-04 22:37:16

标签: ios objective-c ios7 delegates quickblox

我目前在我的应用中使用新的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

2 个答案:

答案 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上完美运行。