cocoa - NSServerNotificationCenter 和 Linux 服务器

标签 cocoa push-notification

在我的一个 Mac 应用程序中,我需要推送通知。我认为与其使用一些自定义解决方案,不如尝试一下 NSServerNotificationCenter。 Apple 的文档提到了一个 notificationconf 命令,而我的 Ubuntu 服务器没有该命令。文档还提到 NSServerNotificationCenter 使用 XMPP。

我的问题基本上是这样的 - 我的服务器上运行着 ejabberd,我可以从我的代码连接到它吗?我如何使用它向用户发布通知?我还需要一种方法让我的 NSServerNotificationCenter 了解我的用户凭据 - 我想我会使用 NSTask 来执行此操作并运行 notificationconf setpass hostname username

有谁知道我应该如何进行设置?我还需要找到一种方法,当通过 PHP 注册用户时创建一个新的 ejabberd 用户,但这应该没问题。

话又说回来,如果这不太容易实现,是否有另一种方法可以通过运行服务器部分的 Ubuntu 服务器在 Mac 上执行推送通知?

感谢您的回复,这个话题让我很困惑。

最佳答案

我对此类的经验表明,它实际上仅用于与 OS X 服务器(即运行服务器包/操作系统版本的 Mac)进行通信,并且仅用于为 Mail 和 iCal 执行推送通知。非常有限!

但是 XMPP 绝对是这里进行推送通知的方式!我建议您查看XMPPframework project来自the Deusty guys 。它是 XMPP 的 Cocoa 实现,应该可以与 ejabberd 很好地配合(尽管我使用 OpenFire )。

还有一些 PHP-XMPP 框架。查看xmpphp on Google Code .

还有更多 information for other frameworks and languages here .

关于cocoa - NSServerNotificationCenter 和 Linux 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6573375/

相关文章:

iphone - iOS - 在没有实际推送的情况下显示推送弹出窗口并播放推送声音

ios - 解析 Rest API - 带有高级定位错误的推送通知

windows-phone-7 - 如何处理 HTTP 412(前提条件失败) - 设备处于非事件状态

objective-c - cocoa:检测所有正在运行的应用程序的非事件状态

macos - Mavericks 的 FaceTime 通话音量问题

objective-c - cocoa 在视频末尾添加图像

javascript - 无需服务器的 Cordova/PhoneGap 推送通知

android - 卸载应用程序时 GCM 未注销设备

macos - 通过拖动 NSView 来移动 NSWindow

objective-c - 如何检测何时在 NSTableView 中选择了一行或多行?