尝试将用户登录到 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 时如何删除错误“无法识别的选择器”的主要内容,如果未能解决你的问题,请参考以下文章