Goed,
Enig onderzoek toont dat de Kalender & Adresboek-data nog steeds lokaal wordt opgeslagen. Wat niet meer bestaat is het systeemonderdeel 'syncservices', waarmee het mogelijk was om tussen allerlei toepassingen te synchroniseren en lokaal met je computer voor 'hub' te spelen.
Kwalijk? Mogelijk, maar wel helemaal conform de tijdsgeest. The Cloud is het nieuwe roken: hartstikke slecht voor je, maar ja ... het is lekker, makkelijk en je ziet de schadelijke gevolgen toch niet ... althans niet op korte termijn
Maar goed, ik ben hier niet om voor of tegen Cloud-opslag te betogen. Wel om eens te kijken hoe dat nu in Mavericks werkt.
Wat blijkt: de Addressboek data wordt gewoon opgeslagen in SQL-Lite format:
In de folder
/Users/USERNAME/Library/Application Support/AddressBook
zit aloe data
Daar zijn de volgende bestanden te vinden:
ABAssistantChangelog.aclcddb Images
ABAssistantChangelog.aclcddb-shm MailRecents-v4.abcdmr
ABAssistantChangelog.aclcddb-wal MailRecents-v4.abcdmr-shm
AddressBook-v22.abcddb MailRecents-v4.abcdmr-wal
AddressBook-v22.abcddb-shm Metadata
AddressBook-v22.abcddb-wal Sources
Configuration.plist
Als je deze wat verder onderzoekt, zul je zien dat deze gewoon SQL-Data bevatten:
sqlite3 AddressBook-v22.abcddb .dump geeft:
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE ZABCDCALENDARURI ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZISPRIMARY INTEGER, ZISPRIVATE INTEGER, ZORDERINGINDEX INTEGER, ZOWNER INTEGER, Z19_OWNER INTEGER, ZLABEL VARCHAR, ZUNIQUEID VARCHAR, ZURL VARCHAR );
CREATE TABLE ZABCDCONTACTDATE ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZDATEYEAR INTEGER, ZISPRIMARY INTEGER, ZISPRIVATE INTEGER, ZORDERINGINDEX INTEGER, ZOWNER INTEGER, Z19_OWNER INTEGER, ZDATE TIMESTAMP, ZDATEYEARLESS FLOAT, ZLABEL VARCHAR, ZUNIQUEID VARCHAR );
Enzovoorts, enzovoorts ... Oftewel: gewoon SQL-data ...
Dan hebben we nog het bestand 'AddressBook-v22.abcddb-shm', hetgeen mij niet helemaal duidelijk is wat dat doet ..
Uitvoer is iets van
^X<A2>-^@^@^@^@^@^@^@^@^@^A^@^@^P5^@^@^@K^@^@^@4^ enzovoorts
Niet echt om wijs uit te worden ... Er zit een structuur in, maar verder ...
En dan hebben we nog 'AddressBook-v22.abcddb-wal' ... Na een kleine inspectie blijkt dit het SQL bestand te zijn met adres-data
Na enig zoekwerk blijkt deze data gewoon middels 'sqlite3 AddressBook-v22.abcddb' opgevraagd te kunnen worden via gewoon SQL queries. Ik heb nog geen aanpassingen gemaakt in de data, nog geen tijd voor gehad en volgens mij geldt: eerst backup en dan verder spelen
...
Maar ik vermoed dat dit de enige manier is om met de Database 'te spreken' ... Of dit nu per definitie slechter is dan voorheen ... Weet niet, was gecharmeerd van syncservices filosofie, maar was niet te spreken over diens implementatie: adressen die zoekraakten, problemen met synchronisaties, etc ...
Hoe dan ook ... Er is hoop, al vergt dat volgens mij een andere aanpak. Mogelijk zijn er API's die je kunt gebruiken als programmeur, maar ook hiervoor geldt: nog helemaal geen tijd gehad om me hierin te verdiepen.