Я реализую приложение, в котором пользователь должен иметь возможность импортировать контакт из адресной книги или предоставить контакт самостоятельно. Я реализовал все с помощью https://github.com/soffes/sspersonviewcontroller. Новые контакты добавляются в адресную книгу, и все работает очень хорошо. У меня были все поля и возможности редактирования с помощью ABPersonViewController и т. Д.
НО теперь клиент настаивает на том, чтобы контакт НЕ сохранялся в адресной книге, а в приложении, и что пользователя НИКОГДА не следует просить предоставить доступ к адресной книге, за исключением импорта.
Я получил «импорт контакта в приложение», работающий с использованием сериализатора для ABRecordRef (из https://github.com/nvrooij/Let-s-Share/blob/master/Classes/ABRecordSerializer.h)
Но моя самая большая проблема в том, что ABNewPersonViewController и ABPersonViewController настаивают на том, чтобы запросить у пользователя доступ к адресной книге.
Итак, что мне нужно:
Представление для создания контакта без доступа к адресной книге. Он должен вернуть ABRecordRef человеку, чтобы я мог его где-то сериализовать (я сохраняю его в NSUserDefaults)
Представление для редактирования контакта без доступа к адресной книге.
Что я уже пробовал: Следуя как Чтобы использовать ABPersonViewController без подключения к AddressBook, я установил displayPerson, но всплывающее окно «предоставить доступ» все еще отображается.
Из документов ABNewPersonViewController и ABPersonViewController у меня сложилось впечатление, что создание подкласса и переопределение получателя для адресной книги для возврата nil во всех случаях будет работать, и я закончу с представлением, у которого нет адресной книги. Но где-то там (я предполагаю, что само представление) адресная книга создается снова, и я не могу избавиться от этого вызова.
Как вы можете помочь?
Любые указатели на повторную реализацию ABPersonViewController (включая возможности редактирования) или любые другие подсказки приветствуются.
Также приветствуются любые идеи о том, как создать пользовательский контроллер просмотра со всеми приятными вещами (выбор страны, добавление полей и т. Д.).
Если вы считаете, что мой подход полностью неверен, пожалуйста, также прокомментируйте. Я всегда ищу разные точки зрения и, возможно, слишком глубоко погрузился в эту катастрофу с адресной книгой.
Я бы хотел, чтобы контроллеры для создания и редактирования контактов были полностью отделены от адресной книги и возвращали ABRecordRef вместо доступа к адресной книге. В моем случае это сильно упростило бы мою задачу (мужчина может мечтать).
Всего наилучшего, iosGoblin