У меня возникла проблема с каркасом 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;
}