2

My app presently reads and writes to the local Mac OS X 10.6 client addressbook using the AddressBook.framework. It works fine.

10.6 Server introduced AddressBook Server, which 10.6 clients can connect to by setting up a CardDAV Account. User and Group records can be stored in that account, which is synchronized to the 10.6 server and made available to other clients who access the same CardDAV account.

Mail.app is able to autocomplete the email addresses from accounts that are in the local datastore as well as the remote CardDAV datastore. ABPeoplePicker can see both. But, programatically, I'm not getting any CardDAV-based data returned from my queries against the shared AddressBook.

I'm not sure if I need to ask it for a different AddressBook, or if I need to modify my fetch-request to indicate that I want it to be able to use the shared data too.

My goal is to adapt the current code so that it can read/write to the CardDAV account too, instead of just the local addressbook.

Thoughts?

Woodster
  • 3,451
  • 3
  • 17
  • 19
  • Update: I spoke to an engineer @ WWDC about this and was informed that it isn't possible with the API in the "current" release. (At the time of asking, 10.6.3 was the release). He said it is possible from iOS (doesn't help me), and also said that since it's just WebDAV, I could make the card myself, connect to the WebDAV server and upload it myself. (Not likely.) – Woodster Jul 27 '10 at 23:38

1 Answers1

0

Answer was edited into my original question as an update. Basically, there is no public API in 10.6 to allow you to add CardDAV entries. Interestingly, there is in the iOS API.

Woodster
  • 3,451
  • 3
  • 17
  • 19
  • 2
    It feels lame to accept my own "answer" as an answer, but I'm doing it because I dislike having a stat that says I rarely accept answers; I prefer to think of it as "he asks the impossible." ;) – Woodster Jan 01 '11 at 03:41