ios - XMPPFramework/iOS 问题 : send and receive subscription

标签 ios xmpp xmppframework

我今天遇到了 XMPPFramework 的挑战...

我已正确配置 ejabberd:服务器已启动并正在运行并通过带内注册正确注册用户。

但是当我尝试从一台设备发送订阅请求时,第二台设备无法接收到第一台设备的状态。这是我在第一台设备上用于订阅用户的代码,如文档所示:

[[[self appDelegate] xmppRoster] addUser:userJID withNickname:nickname groups:nil subscribeToPresence:YES];

如果一切顺利,第二个设备必须触发委托(delegate)方法:

- (void)xmppRoster:(XMPPRoster *)sender didReceiveBuddyRequest:(XMPPPresence *)presence

问题是这个委托(delegate)方法永远不会被触发。 服务器为用户创建新联系人,我可以在 ejabberd web 管理员上看到它,但订阅类型设置为无。

有什么想法吗?

更新:

好吧,我好像忘了将主机名包含到 JID 中。现在,没有调用 XMPPRoster 的代表,但我可以在 ejabberd 上看到请求不是“无”,而是“两者”和等待验证。

无法想象为什么 XMPPRoster 代表没有触发...当用户收到新的订阅请求时,ejabberd 服务器似乎没有发送正确的通知...

最佳答案

似乎 eJabberd 配置错误或其他原因。刚刚安装了 OpenFire,一切正常。

关于ios - XMPPFramework/iOS 问题 : send and receive subscription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16498569/

相关文章:

iphone - 使用 XMPP 而不是 HTTP

objective-c - iPhone XMPPFramework/Openfire 的问题

android - 为什么即使 session 中不存在 SESSION,openfire 的用户仍保持在线状态

ios - 如何在 XMPP iOS 中获取消息传递、已读、失败和未读消息数? ( swift 3.0)

ios - xmppframework 迪斯科项目过滤

ios - 用AVAudioPlayer改变音高的简单方法吗?

ios - 自定义对象下载管理器

ios - 我可以对具有不同捆绑 ID 的两个 iOS 应用使用相同的 Firebase GoogleService-Info.plist 吗?

objective-c - Objective C,无法创建 XML Post 操作

XMPP 白名单?