【问题标题】:Now that Sync Services are becoming obsolete, what's a reliable alternative to syncing the contacts on OSX?既然同步服务已经过时,那么在 OSX 上同步联系人的可靠替代方案是什么?
【发布时间】:2012-05-09 17:23:46
【问题描述】:

自 OSX Lion 以来,同步服务不再更新。也许很快他们就不会再出现了。现在可以使用哪些替代方法来同步联系人?

编辑 - 更多说明:我问这个的上下文是构建一个能够连接到同步服务器(使用 SyncML)的同步应用程序。此同步应用程序(客户端)将安装在 OSX 系统上,负责查看客户端上哪些联系人已更改(并因此通知服务器)并将更改从服务器应用到客户端。

到目前为止,我们一直在使用同步服务来跟踪更改并将联系人同步到一个集中的位置,但由于 SS 已过时,我们正在寻找替代方案。希望补充有所帮助。

【问题讨论】:

  • 你的意思是除了iCloud吗?或者您指的是哪种同步?也就是说,哪个设备对哪个设备?
  • 是的,我的意思是除了 iCloud,因为 AFAIK iCloud 没有 API,您可以登录并跟踪更改。我的意思是拥有自己的应用程序,可以从 OSX 同步联系人(对联系人执行 CRUD 操作)。从任何 OSX 设备到任何其他设备(但这可以通过 SyncML 之类的同步协议来处理,因此超出了本问题的范围)。
  • 如何通过第三方 API 进行同步?喜欢:DropBox。

标签: objective-c macos cocoa contacts syncservices


【解决方案1】:

我不太确定你在这里想要什么。例如,您是否想在系统范围的通讯录中编辑联系人并将这些编辑传播到其他设备?如果是这样,请使用address book framework 并将传播留给 iCloud 的通讯录支持。

您想存储(联系)您的应用程序独有的数据并将传播到其他设备吗?当然听起来iCloud 也是你所追求的。确实,iCloud 没有可以让您“跟踪更改”的 API。但如果这对您来说很重要,为什么不将它包含在通过 iCloud 传播的数据中呢?还是我误解了您所说的“跟踪更改”是什么意思?

【讨论】:

  • 感谢您的回答。我扩展了我的问题,让您更好地了解我的目标。
  • 谢谢!这要清楚得多。因此,您正在寻找的是一种在地址簿修改时收到通知的方法,是吗?鉴于我可以在聚光灯下搜索地址信息,看来地址更改必须以某种方式与File System Events 相关联。处理这个问题似乎更明智的方法是直接利用 Spotlight 以某种方式,但我对 Spotlight 的了解不够好,无法对此发表评论。
  • 不确定它在 Mountain Lion 中的情况,但到目前为止,地址簿有自己的文件夹。每当联系人更改时,该文件夹也会更改,并且会在该文件夹上触发更改的文件系统事件(如果已向其注册)。但是,这种方法似乎仍然有点……片状?骇客?我想知道是否有更好的方法...感谢您的意见
  • 地址簿框架似乎也提供了一些通知字符串:kABDatabaseChangedNotificationkABDatabaseChangedExternallyNotification,它们可以潜在地用于监听地址簿的变化,而不依赖于文件系统事件。
猜你喜欢
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-17
相关资源
最近更新 更多