5

Sync Services are no longer being updated since OSX Lion. Maybe soon they won't be around any more. What are the alternatives to be used now in order to sync contacts?

edit - more clarification: The context I'm asking this in is building a sync application that is able to connect to a synchronization server (using SyncML). This sync application (client) will be installed on the OSX system and is responsible for seeing which contacts have changed on the client (and thus informing the server) and also applying changes from the server to the client side.

Up until this point we have been using Sync Services for keeping track of the changes and syncing the contacts to a centralized spot, but since SS is obsolete, we're looking for alternatives. Hope the addition helps.

Alex
  • 7,432
  • 20
  • 75
  • 118
  • Do you mean besides iCloud? Or what kind of sync'ing are you referring to? That is, which device to which device? – Jerry May 08 '12 at 06:09
  • Yes, I mean besides iCloud, because AFAIK iCloud has no API into which you can log and keep track of changes. I mean have your own application that can sync contacts from OSX (perform CRUD operations on contacts). From any OSX device to any other device (but that could be taken care of by a sync protocol like SyncML, so it's outside of the scope of this question). – Alex May 08 '12 at 09:46
  • What about syncing via third party APIs? like: DropBox. – UPT May 08 '12 at 09:51

1 Answers1

0

I'm not really sure what you're after here. Do you want to, say, edit contacts in the system-wide address book and have those edits propagated to other devices? If so, use the address book framework and leave the propagation up to iCloud's address book support.

Do you want to store (contact) data unique to your application and have that propagated to other devices? Sure sounds like iCloud is what you're after there, too. It's true iCloud doesn't have an API that'll let you "keep track of changes". But if that's important meta to you, why not include it in the data that's propagated with iCloud? Or am I misunderstanding what you mean by "keep track of changes"?

jemmons
  • 18,605
  • 8
  • 55
  • 84
  • Thanks for the answer. I've expanded my question to give you a better idea of what I'm after. – Alex May 09 '12 at 09:25
  • Thanks! That's a lot more clear. So what you're looking for is a way of getting notified of modifications to the address book, yes? Given that I can search for address information in spotlight, it seems address changes must be tied in to [File System Events](https://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/FSEvents_ProgGuide/TechnologyOverview/TechnologyOverview.html) in some way. It seems like a more sane way of dealing with this would be leveraging Spotlight directly some how, but I don't know Spotlight well enough to comment on that. – jemmons May 09 '12 at 19:50
  • Not sure how it is in Mountain Lion, but so far, the Address Book has had its own folder. Whenever contacts changed, that folder would get changed as well and there would be a file system event for a change triggered on that folder (if one was registered to it). However, this method still seems a bit ... flaky? hackish? I wonder if there's a better way to do it...Thanks for the input – Alex May 10 '12 at 10:40
  • 1
    Seems like the Address Book Framework also provides some notification strings: `kABDatabaseChangedNotification`, `kABDatabaseChangedExternallyNotification`, which can potentially be used to listen to changes to the address book, without relying on the file system events. – Alex Jul 16 '12 at 13:10