我正在构建一个从在线资源同步联系人的应用程序。到目前为止一切正常......当手机有一个通讯录时:
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);
但是,当电话已经有多个通讯录时,就会出现问题。我正在测试一部手机,它有一个用于所有联系人的通讯录,一个用于 Gmail 等。当我以上述方式添加联系人时,它会将其添加到 Gmail 通讯录中,并在此过程中去除“Group1”标识符从接触。有没有办法可以将 ABAddressBookRef 更改为指向手机中的特定地址簿?