尝试创建会话时应用程序崩溃

时间:2014-12-23 04:48:53

标签: ios quickblox

我正在开发视频聊天应用程序,并希望将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

我使用了以下代码..

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

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

} errorBlock:[self handleError]];

请帮助解决此错误,谢谢。

4 个答案:

答案 0 :(得分:1)

尝试在QBUser

中创建successBlock
// 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 :(得分:1)

我有完全相同的问题 - 探测器是函数+ [QBRequest createSessionWithExtendedParameters:successBlock:errorBlock:]没有在类QBRequest中定义,而是在其中一个类别(QBRequest + QBAuth)中定义。

这是一个已知问题,可以通过在“其他链接器标志”构建设置中添加“-ObjC”来解决:

  1. 在Xcode中,选择查看>导航器>显示Project Navigator,或按⌘1。
  2. 在Project Navigator的PROJECT标题下选择项目,然后选择Build Settings选项卡。
  3. 向下滚动到Linking集合下的Other Linker Flags构建设置,或在搜索栏中输入“Other Linker Flags”。
  4. 将Other Linker Flags构建设置的值设置为$(OTHER_LDFLAGS)-ObjC。
  5. 有关详细信息,请参阅this Technical Q&A

答案 2 :(得分:1)

当我在其他链接器标志中添加-ObjC时,我的问题得到了解决。

由于

答案 3 :(得分:0)

我有同样的问题一次。愚蠢的原因是我在创建会话之前没有设置API密钥。