ABPerson имеет api, чтобы получить все «связанные» записи человека.Могут ли записи адресной книги быть связаны программно?
CFArrayRef ABPersonCopyArrayOfAllLinkedPeople (
ABRecordRef person
);
Что определяет результат возврата этого вызова (т. Е. Как установлены ссылки)? Моя цель - создать новую запись в адресной книге (в коде), связанную с существующей записью.
Нет публичного API для создания ваших собственных ссылок. Что вы пытаетесь достичь? У меня был успех в добавлении записи с тем же именем и фамилией, что и существующая запись, и структура адресной книги автоматически связала мою новую запись с существующей записью, но это не документировано нигде, насколько я знаю, поэтому я не уверен, насколько он надежный. – alivingston
Я пытаюсь надежно написать новые данные для человека, выбранного из ABPeoplePickerNavigationController. Иногда ABRecordRef, возвращаемый после того, как пользователь выбирает кого-то, не может быть записано (вызовы ABRecordSetValue() завершаются с ошибкой «невозможно завершить ...»). Незаписываемые записи, похоже, связаны с записями, содержащими профили социальных сетей (например, Facebook). Поэтому я думал, что создаю новую запись с необходимыми данными и свяжу ее с выбранным человеком. Логика заключалась в том, что я всегда мог писать вновь созданную запись. Я подозреваю, что вы говорите правду. Я надеюсь, что Apple с обновлением этого жестокого старого API. – Swany