我正在使用 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/