2014-10-04 65 views
0

我目前在我的應用程序中使用新的quickBlox 2.0 SDK。我正在測試iphone 5s(i0S 8)和iphone 4s(iOS 7.1.2)。我在兩個電話上運行相同的代碼。代表每次都會爲iphone 5s版本正確調用。但是,當我在iphone 4上執行相同的操作時,代表永遠不會被稱爲真的很奇怪委託問題與quickBlox iOS SDK

有誰知道可能是什麼原因造成的?

在日誌中,我可以清楚地看到,我得到的數據:

QBChat/didReceiveMessage: <message xmlns="jabber:client" type="qbvideochat_acceptCall" from="[email protected]" to="[email protected]" 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="[email protected]" to="[email protected]" id="1441282327"><extraParams xmlns="jabber:client"><sessionID>434152105.631015</sessionID><callType>1</callType></extraParams></message>, MessageType: qbvideochat_acceptCall 
[QBVideoChat didReceiveVideoMessage:] -> Accepted call 

回答

1

它是如何表現的模擬器?您應該嘗試查看它是否是導致差異的iOS版本或設備類型。

你可以調試,看看委託是否爲零?

+0

嘿,謝謝你的建議。看起來委託方法在ios 8上被正確調用,但在ios7.1中沒有被調用。你知道這可能是什麼原因嗎? – slammer 2014-10-06 18:48:30

+0

調試以查看代理是否爲零將是一個好的步驟。如果由於某種原因它是零,那麼你沒有得到消息的原因是因爲沒有對象可以傳遞它們。如果它不是零,那麼其他奇怪的事情正在發生。如果沒有看到更多的代碼,這很難診斷。您可能想看看是否有針對該特定框架的論壇(QBVideoChat?) – KirkSpaziani 2014-10-06 19:06:33

+0

感謝Kirk-您的建議指出了我正確的方向。 – slammer 2014-10-06 21:13:22

0

我終於找到了問題的原因。

來源問題的:

在視圖控制器1,在viewDidDisappear我將[QBChat實例] .delegate =零

在視圖控制器2,在viewDidAppear我將[QBChat實例] .delegate =自

解決方案:

刪除viewDidDisappear [QBChat實例] .delegate =零在的ViewController 1.

我誤儘管那個B/C [QBChat實例]是一個單身人士,它可能會在下一個VC中重置。

這對我來說是非常棘手的,因爲原始代碼在iOS 8上完美工作。