我遇到了AddressBook框架的问题。 这一切似乎都是ABCopyRecordForUniqueId返回一个包含旧数据的记录。通讯簿返回旧值
实施例:
我跑起来下面在一个终端窗口程序 - 它示出了当前数据。
我通过地址簿UI进行更改 - 我的程序继续显示旧的数据。
我在新的终端窗口中运行同一程序的另一个实例 - 它显示更新的数据。
我已经试过张贴在omnigroup现场没有运气:(所以任何指导,非常感谢
PS:如果你想尝试的代码,以获得一个地址簿ID可以导出联系人作为一个电子名片,并用文本编辑器
int main (int argc, const char * argv[])
{
ABAddressBookRef addressBook = ABGetSharedAddressBook();
while(1)
{
ABRecordRef addressBookRecord = NULL;
addressBookRecord = ABCopyRecordForUniqueId(addressBook, CFSTR("4064D587-0378-4DCF-A6B9-D3702F01C94C:ABPerson"));
CFShow(addressBookRecord);
CFRelease(addressBookRecord);
sleep(1);
}
return 0;
}