Macos 如何使用notificationconf?
我已经阅读了有关创建推送节点和发布/订阅通知的教程。 我遇到的唯一问题是,Macos 如何使用notificationconf?,macos,cocoa,push-notification,jabberd2,Macos,Cocoa,Push Notification,Jabberd2,我已经阅读了有关创建推送节点和发布/订阅通知的教程。 我遇到的唯一问题是,notificationconf似乎无法创建该节点 我的第一个问题:nodename(notificationconf工具的参数)和notificationName(我在应用程序中使用的NSString)是相同的东西吗 第二: notificationconf createnode push.example.com BFMyTestPushhNotification beefon Enter password: // pa
notificationconf
似乎无法创建该节点
我的第一个问题:nodename(notificationconf工具的参数)和notificationName(我在应用程序中使用的NSString)是相同的东西吗
第二:
notificationconf createnode push.example.com BFMyTestPushhNotification beefon
Enter password: // password from Open Directory for user beefon - it is Admin of the 10.6 server
2010-01-24 13:24:58.916 notificationconf[15221:903] created XMPP session
2010-01-24 13:24:58.931 notificationconf[15221:903] Connecting to push.example.com:5222 with user com.apple.notificationuser@push.example.com/TestPubsub, security = 2 ...
2010-01-24 13:24:59.130 notificationconf[15221:903] sessionCallback (event 1)
2010-01-24 13:24:59.130 notificationconf[15221:903] Session stopped (event 1)
我做错了什么?
从应用程序发布通知并没有任何作用
谢谢你的帮助 在同一个节点上使用通知很容易,但在网络上使用通知更难。特别是,我不认为有太多人在使用它,因为谷歌搜索结果很少:)现在,关于你的问题: 对于1:是,您需要有匹配的
nodename
和notificationName
。手册页上这样说(虽然不是非常清楚):
因此,首先必须创建节点,然后才能侦听给定名称的通知。否则,您不会收到通知
对于2:我在没有运行XMMP守护进程(即端口5222关闭)时收到此错误。那个港口对你开放吗?(查看
nmap-p5222 push.example.com的输出。我一直在尝试将雪豹服务器的推送通知服务与基于XMPP发布-订阅的自定义应用程序一起使用。我努力创建一个节点,但最终找到了它
追踪服务帐户的密码com.apple.notificationuser
。例如,您可以在/private/etc/dovecot/notify/notify.plist
中找到它
使用JIDcom.apple连接推送通知服务器。notificationuser@your-聊天服务器hostname.com
和该密码
以常规方式创建节点。在XMPPFramework中,它是这样的:
XMPPJID *serviceJID =
[XMPPJID jidWithString:@"pubsub.your-chat-server-hostname.com"];
XMPPPubSub *xmppPubSub = [[XMPPPubSub alloc] initWithServiceJID:serviceJID];
[xmppPubSub createNode:@"pubsub.your-chat-server-hostname.com`
withOptions:nil];
服务器创建节点。它以iq响应,但不是规范要求的iq。如果节点已经存在,它会发送一个兼容错误
<iq xmlns="jabber:client"
to="com.apple.notificationuser@your-chat-server-hostname.com/..."
from="pubsub.your-chat-server-hostname.com"
id="...:create_node" type="result"/>
使用同一用户连接以发布您的更新
我从来没能让notificationconf工作。?你确定这是Mac的问题吗?听起来你在问推送通知,这是iPhone的东西。当然是Mac的东西。:-)他链接到的文档也是Mac文档库的一部分。此外,“man notificationconf”提供了更多信息。以前从未使用过它,所以我不知道答案是什么。主机启动(0.0071s延迟)。\n端口状态服务\n 5222/tcp打开未知\n Nmap完成:1个IP地址(1个主机启动)在0.21秒内扫描\n这是Nmap的输出。仍然无法让通知正常工作。服务器日志怎么说?你也可以(用tcpdump)监听原始网络流量并检查发生了什么。老实说,谷歌搜索“notificationconf createnode”(带引号)只会在苹果论坛上显示你的问题,这真是太糟糕了。现在iChat服务日志显示:connect->Password verification failed->disconnect jid=unbound,封包:0。这很奇怪,因为以前的日志只是:connect->disconnect jid=unbound,数据包:0。没有密码错误。createnode命令中的用户名是什么?在setpass命令中呢?我想用户名必须是服务器管理员的用户名,对吗?我认为它必须是一个有效的XMMP用户,具有创建节点的权限。也许这是为了检查您的iChat服务器配置。不幸的是,很难进一步挖掘,因为1。医生太少了,2。它不在操作系统的开源部分,就像在没有苹果API的情况下自己使用XMPP的默认pubsub机制一样。谢谢你的信息!对尽管如此,我的猜测是,以这种方式创建的节点也可以与Apple API一起使用——而且它们的API看起来确实很容易使用。
<iq xmlns="jabber:client"
to="com.apple.notificationuser@your-chat-server-hostname.com/..."
from="pubsub.your-chat-server-hostname.com"
id="...:create_node" type="result"/>