Столкнулся с мистической ошибкой.
Есть код, создающий новую группу в адресной книге:
CFErrorRef error = NULL;
ABRecordRef group = ABGroupCreate();
if (!ABRecordSetValue(group, kABGroupNameProperty, name, &error))
return nil;
if (!ABAddressBookAddRecord(_book, group, &error))
return nil;
...
Этот код работает правильно в iOS 4.1/4.2, в симуляторе 4.0.2/4.1/4.2, и, до недавнего времени, правильно работал на iOS 4.0.1. Но, после мелкого изменения в
интерфейсе программы, код работать перестал. Функция
ABAddressBookAddRecord
возвращает
NO
и при этом не заполняет переменную
error
(после вызова функции она остается
NULL
).
Нутром чую, что проблема в телефоне заказчика, с его 4.0.1 (джейлбрейка нет), но ведь раньше-то работало.
Пробовал откатывать все изменения, сделанные в интерфейсе — та же проблема (иначе и быть не могло).
Гуглил/стековерфлоулил — без результата.
Осталось только написать в Developer Technical Support, но сначала хотелось бы спросить у хабрасообщества, вдруг кто-то сталкивался с подобным.
Буду рад любым идеям, потому что у меня их уже не осталось.