2014-12-23 79 views
-2

我開發的應用程序進行視頻聊天,並希望Quickblox與我的應用程序集成,但應用崩潰時嘗試使用以下錯誤消息創建會話。應用程序崩潰時嘗試創建會話

2014-12-23 09:57:47.030 closeChat[3758:60b] +[QBRequest createSessionWithExtendedParameters:successBlock:errorBlock:]: unrecognized selector sent to class 0x199f74 
2014-12-23 09:57:47.036 closeChat[3758:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[QBRequest createSessionWithExtendedParameters:successBlock:errorBlock:]: unrecognized selector sent to class 0x199f74' 
*** First throw call stack: 
(0x30862f83 0x3b013ccf 0x30866823 0x30865203 0x307b4768 0x35377 0x330844ab 0x33084269 0x330fb505 0x330f9e85 0x330f99d3 0x330f995b 0x330f98f3 0x330f1f69 0x33086107 0x330f9641 0x330f9105 0x3308b045 0x33088827 0x330f233d 0x330eefad 0x330e956b 0x330856e9 0x33084851 0x330e8ca9 0x3569daed 0x3569d6d7 0x3082da67 0x3082da03 0x3082c1d7 0x30796ebf 0x30796ca3 0x330e7ed1 0x330e314d 0x4a14d 0x3b520ab7) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

我用follwowing代碼..

QBSessionParameters *parameters = [QBSessionParameters new]; 
parameters.userLogin = @"[email protected]"; 
parameters.userPassword = @"password"; 

// QuickBlox session creation 
[QBRequest createSessionWithExtendedParameters:parameters successBlock:^(QBResponse *response, QBASession *session) 
{ 
    [self loginToChat:session]; 

} errorBlock:[self handleError]]; 

請幫助解決這個錯誤,謝謝。

+0

仍然沒有,我得到同樣的錯誤。 –

+0

你有解決嗎? – Mrunal

回答

1

嘗試用successBlock內創建QBUser

// QuickBlox session creation 
[QBRequest createSessionWithExtendedParameters:parameters successBlock:^(QBResponse *response, QBASession *session) { 

    // create a QBUser 
    QBUUser *user = [QBUUser user]; 
    user.ID = session.userID; 
    user.password = your password; 
    // Login to QuickBlox Chat 
    [[QBChat instance] loginWithUser:user];  
} errorBlock:[self handleError]]; 

而且還有什麼在handleError方法,你沒有提到有問題的說明。

1

我有完全相同的問題 - 探針是函數+ [QBRequest createSessionWithExtendedParameters:successBlock:errorBlock:]未在類QBRequest中定義,但在其類別之一(QBRequest + QBAuth)中定義。

這是一個已知的問題,可以通過添加「-ObjC」你的「其它鏈接器標記」構建設置來解決:

  1. 在Xcode中,選擇查看>導航器>顯示項目瀏覽器,或按⌘ 1。
  2. 在Project Navigator的PROJECT標題下選擇您的項目,然後選擇Build Settings選項卡。
  3. 向下滾動到Linking集合下的Other Linker Flags構建設置,或者在搜索欄中鍵入「Other Linker Flags」。
  4. 將Other Linker Flags構建設置的值設置爲$(OTHER_LDFLAGS)-ObjC。

請參閱this Technical Q&A瞭解更多詳情。

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。 如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Ghost

+0

感謝您的提示 - 但將「-ObjC」添加到「其他鏈接器標記」構建設置是答案的重要部分 - 或者不是?作爲這裏的新成員(經過多年閱讀的答案 - 這是我第一次提供的答案),我很高興提供任何提示來改進我的答案 –

+1

您不需要複製鏈接中的所有內容。只需添加解決問題的那部分即可。只要將這個答案作爲鏈接內容的亮點,以便在鏈接被刪除或移動到另一個鏈接時,它仍然會自動運行。 – Ghost

0

我曾經有過同樣的問題。愚蠢的原因原來是我沒有在創建會話之前設置API密鑰。當我在其他連接標誌添加-ObjC

相關問題