我想在Messages.app中监控一个或我的好友的状态。
到目前为止,通过从IMService
注册IMPersonStatusChangedNotification
通知,我一直在使用IMService's notification center而没有任何问题。
但是小牛队不推荐使用此类,而[IMService notificationCenter]
会返回nil
。
我想到了两个令人不满意的选择:
使用Messages的AppleScript界面每隔几秒轮询一次,但这似乎与Mavericks的节能精神背道而驰。我宁愿收到通知。这个应用程序的唯一目的是监控好友的状态,所以它真的不应该是一个能量消耗!
使用消息'AppleScript事件处理程序on buddy became available
和on buddy became unavailable
通知我的应用程序(通过AppleScript)伙伴状态已更改,但这需要在消息的首选项中手动添加AppleScript。这会干扰用户已在消息中使用的任何自定义AppleScript。另外,我不清楚如何处理空闲状态。
当小伙子的伙伴状态发生变化时,有没有办法收到通知? 如果没有,那么监控好友状态的最佳方法是什么?
特殊服务是GoogleTalk,以防止这种想法变得容易。
编辑:最佳解决方案可能是构建一个非常轻的XMPP客户端,以便完全不依赖于Messages.app或系统。关于如何做到这一点的任何指导?