7

我想在 Messages.app中监控一个或我的好友的状态。

到目前为止,我IMService通过注册IMPersonStatusChangedNotification来自IMService 的通知中心的通知,一直在使用没有任何问题。

[IMService notificationCenter]但是这个类在 Mavericks AND Returns中被弃用了nil

我想到了两个不满意的选择:

  1. 使用 Messages 的 AppleScript 界面每隔几秒轮询一次,但这似乎与 Mavericks 的节能精神背道而驰。我宁愿收到通知。这个应用程序的唯一目的是监控好友的状态,所以它真的不应该是一个能源猪!

  2. 使用 Messages 的 AppleScript 事件处理程序on buddy became availableon buddy became unavailable通知我的应用程序(通过 AppleScript)好友的状态已更改,但这需要在 Messages 的首选项中手动添加 AppleScript。这会干扰用户已经在 Messages 中使用的任何自定义 AppleScript。另外,我不清楚空闲状态是如何处理的。

有没有办法在小牛的好友状态发生变化时收到通知?如果不是,那么监控好友状态的最佳方法是什么?

特定服务是 GoogleTalk,以防万一这使思考变得更容易。


编辑:最好的解决方案可能是构建一个非常轻量级的 XMPP 客户端,以便完全不依赖 Messages.app 或系统。关于如何做到这一点的任何指导?

4

0 回答 0