Этот код работал нормально на iOS 5.1, а также работает в симуляторе iPhone с iOS 6. Он не работает на моем iPhone 4 под управлением iOS 6. В результате я не могу добавить человека в приложение "Контакты". Ни один из следующих фрагментов кода не работает (журнал следует за каждым):
ABRecordRef defaultSource = ABAddressBookCopyDefaultSource(_addressBook);
NSLog(@"2 - defaultSource = %@", defaultSource);
AB: Не удалось скомпилировать оператор для запроса (ABCCopyArrayOfAllInstancesOfClassInSourceMatchingProperties): SELECT ROWID, Name, ExternalIdentifier, Type, ConstraintsPath, ExternalModificationTag, ExternalSyncTag, AccountID, Enabled, SyncData, MeIdentifier, Возможности FROM ABStore WHERE Enabled =?;
2012-09-24 11: 00: 36.731 QR vCard [193: 907] 2 - defaultSource = (CPRecord: 0x1f59fd50 ABStore)
Когда я пытаюсь добавить человека в адресную книгу, я получаю это (похоже, потому что источник недопустим, хотя похоже, что это может быть ОК из выше):
2012-09-24 11:18: 32.231 QR vCard [220: 907] Ошибка ABAddressBookAddRecord = операция не может быть завершена. (Ошибка ABAddressBookErrorDomain 1.)
Я думал, что могу получить все источники, а затем выбрать один, но следующее возвращается вообще:
CFArrayRef allSources = ABAddressBookCopyArrayOfAllSources (_addressBook);
NSLog(@"2 - allSources = %@", allSources);
AB: Не удалось скомпилировать оператор для запроса (ABCCopyArrayOfAllInstancesOfClassInSourceMatchingProperties): SELECT ROWID, Name, ExternalIdentifier, Type, ConstraintsPath, ExternalModificationTag, ExternalSyncTag, AccountID, Enabled, SyncData, MeIdentifier, Возможности FROM ABStore WHERE Enabled =?;
2012-09-24 10: 58: 09.908 QR vCard [177: 907] 2 - allSources =()