Je construis une application qui synchronise les contacts d'une source en ligne. Tout fonctionne bien jusqu'à présent ... quand le téléphone a un carnet d'adresses:ABAddressBook - plusieurs carnets d'adresses?
ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef group1 = ABGroupCreate();
ABRecordSetValue(group1,kABGroupNameProperty,@"Group1",nil);
ABAddressBookAddRecord(addressBook,group1,nil);
ABAddressBookSave(addressBook,nil);
ABRecordRef person = ABPersonCreate();
// Edit person values...
ABGroupAddMember(group1,person,nil);
ABAddressBookAddRecord(addressBook,person,nil);
ABAddressBookSave(addressBook,nil);
CFRelease(person);
CFRelease(addressBook);
Le problème se produit, mais quand le téléphone a déjà plusieurs carnets d'adresses. Je teste sur un téléphone qui a un carnet d'adresses pour Tous les contacts, un pour Gmail, etc. Lorsque j'ajoute un contact de la manière ci-dessus, il l'ajoute au carnet d'adresses Gmail, et dans le processus dépouille l'identificateur "Group1" du contact. Y at-il un moyen que je peux changer le ABAddressBookRef pour pointer vers un carnet d'adresses spécifique dans le téléphone?