ios - 如何使用xmpp jidstr iOS sdk获取资源

标签 ios xmpp xmppframework

我正在使用 https://github.com/robbiehanson/XMPPFramework对于 xmpp。我正在尝试获取特定 JID 字符串 (venu@xx.in) 的资源。

我使用下面的代码

XMPPUserCoreDataStorageObject *user = [[self fetchedResultsController] objectAtIndexPath:indexPath];
NSLog(@"userJID:%@",user.jidStr);

XMPPResourceCoreDataStorageObject* userResource = (XMPPResourceCoreDataStorageObject*)[user resourceForJID:[user.jid bareJID]];
NSLog(@"userResource:%@",userResource);

但问题是 userResource 返回 null。

是否有任何其他方式为 venu@xx.in 提供资源。应该类似于 venu@xx.in/(userResource)。

最佳答案

您通常会从当前为该 JID 连接的 0 个或更多设备中的每一个收到的存在信息中获取与裸 JID 关联的资源信息。如果联系人使用多个设备在线,则将有多个资源与该用户相关联。 “最可用”资源,也称为“主要资源”,很可能就是您想要的资源。 XMPPUserCoreDataStorageObject 有一个 primaryResource 方法,它会给你一个 XMPPResourceCoreDataStorageObject。试试这个(未经测试):

XMPPUserCoreDataStorageObject *user = [[self fetchedResultsController] objectAtIndexPath:indexPath];
NSString *resource = [[[user primaryResource] jid] resource];

关于ios - 如何使用xmpp jidstr iOS sdk获取资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27318468/

相关文章:

objective-c - 添加 CocoaAsyncSocket 时体系结构 armv7 的 undefined symbol

ios - [非 A 型发布] : message sent to deallocated instance in UITableView

用于聊天应用程序的 Android 数据库加载聊天

Grails XMPP 聊天网站

ios - 适用于 iOS 的 Robbiehanson xmpp 框架不接收聊天消息

ios - 在 XMPP 中以后台模式工作

objective-c - 用于创建 iOS Photostream 相册的 API

objective-c - 平滑线 View 改变颜色

ios - 什么是自动布局基线?

java - GCM 和 Smack API