尝试将用户登录到 QBChat 时如何删除错误“无法识别的选择器”

Posted

技术标签:

【中文标题】尝试将用户登录到 QBChat 时如何删除错误“无法识别的选择器”【英文标题】:How to remove error 'unrecognized selector' while trying to login user to QBChat 【发布时间】:2015-03-19 04:35:40 【问题描述】:

我是 ios 版 Quickblox 的新手,并尝试将用户登录到 QBChat,但我收到了无法识别的选择器。

代码如下:

if ([result isKindOfClass:[QBAAuthSessionCreationResult class]]) 
  QBUUser *currentUser=[QBUUser user];
  currentUser.login=@"test0123";
   currentUser.password=@"test0123";

if (result.success) 
    // Session is created...
    //Login to QuickBlox Chat
    [[QBChat instance] setDelegate: self];
    [[QBChat instance] loginWithUser: currentUser];
  

我收到以下日志:

-[QBChat loginWithUser:] -> 连接到聊天,主机名:chat.quickblox.com -[QBChat loginWithUser:] -> 聊天服务器端点:chat.quickblox.com,用户 JID:xxxxxxxx -[QBDDXMLElement attributeFloatValueForName:withDefaultValue:]: 无法识别的选择器发送到实例 0x17442b0e0。

【问题讨论】:

【参考方案1】:

试试这个:

if ([result isKindOfClass:[QBAAuthSessionCreationResult class]]) 

    if (result.success) 
        QBAAuthSessionCreationResult *res = (QBAAuthSessionCreationResult *)result;
        QBUUser *currentUser = [QBUUser user];

        currentUser.ID = res.session.userID;
        currentUser.login = self.sessionLogin;
        currentUser.password = self.sessionPassword;

        if ([[QBChat instance] isLoggedIn] == NO) 
            [[QBChat instance] setDelegate:self];
            [[QBChat instance] loginWithUser:currentUser];
        

     else 
        // Handle error
    

【讨论】:

感谢您改进我的问题。但我仍然收到相同的记录错误。我已经按照之前的回答:link 希望解决这个问题,但问题仍然存在。 一般情况下,您应该按照 quickblox 网站上的步骤进行操作,该网站是最新的:quickblox.com/developers/SimpleSample-chat_users-ios 使用此方法遇到类似的无法识别的选择器错误:[QBRequest createSessionWithExtendedParameters:parameters successBlock:^(QBResponse *response, QBASession *session) 您应该运行、测试和调试 Quickblox 提供的 SimpleSample-chat 应用程序。它可能会让您深入了解您所缺少的内容。考虑到可用信息,这是我能给你的唯一帮助/建议。【参考方案2】:

如果您有旧的 SDK,请尝试使用 CocoaPods 的新 SDK http://quickblox.com/developers/IOS-how-to-connect-Quickblox-framework#CocoaPods

还请尝试示例项目 https://github.com/QuickBlox/quickblox-ios-sdk

它们具有与您相同的逻辑,并且一切正常而不会崩溃

【讨论】:

感谢您的建议!我已经走了 cocoapods 和 ios 示例项目路线,偶然发现了主要问题:在 QBDDXMLNode.h 中指出:“找不到词法或预处理器问题‘libxml/tree.h’文件。”有任何想法吗?是的...我已将框架和必要的标志添加到其他链接器标志中。 使用谷歌 :) ***.com/questions/26857531/… ***.com/questions/14622684/… @PhilT 也请确保您在链接器标志中设置 -ObjC。

以上是关于尝试将用户登录到 QBChat 时如何删除错误“无法识别的选择器”的主要内容,如果未能解决你的问题,请参考以下文章

QuickBlox IOS 会话过期续订

登录后尝试将用户名添加到 url 时收到 NoReverseMatch 错误

kali切换root段错误

QuickBlox:FB 用户无法登录聊天

无法删除用户外部登录

如果注释是由用户登录后如何显示删除按钮?