Как создать контакт в «локальной» адресной книге? - PullRequest
1 голос
/ 13 января 2011

Я хочу создать контакт программно в «локальной» адресной книге (чтобы он не пытался синхронизироваться, что вызывает некоторые проблемы совместимости с Exchange).

Если локальная адресная книга уже существует, я могу найти ее с помощью ABAddressBookCopyArrayOfAllSources, чтобы получить все источники в адресной книге, а затем найти ABRecordRef с sourceTypeRef «kABSourceTypeLocal» - если я затем передам этот recordRef в ABPersonCreateInSource, я могу добавить запись в локальный каталог.

У кого-нибудь есть предложения относительно того, как мне лучше всего создать запись в "локальной адресной книге", если там уже нет локальной адресной книги?

(также, как я мог сделать это до iOS4, так как вышеупомянутые вызовы не были доступны тогда?)

Спасибо

Peter

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Я нашел простой обходной путь.Поскольку вы не можете видеть / добавлять локальные контакты, если у вас нет ранее существовавшего локального контакта, можно безопасно использовать следующий обходной путь:

  1. Давайте представим, что вы используете Gmail (Exchange)
  2. Перейдите в настройки своей почты для Gmail и отключите синхронизацию контактов
  3. Когда появится запрос на сохранение или удаление контактов Gmail со своего телефона, выберите УДАЛИТЬ их (не волнуйтесь, они не будут удалены из Gmail)
  4. Вернитесь к своим контактам.Теперь вы можете создать один ЛОКАЛЬНЫЙ контакт
  5. Наконец, вернитесь в Настройки / Почта / Gmail и снова включите синхронизацию контактов
  6. Вуаля, ваши контакты Gmail вернулись в ваш телефон, и теперь у вас есть1 локальный контакт, который позволяет вам получить доступ к локальной группе контактов в дополнение к группе контактов Gmail.

Надеюсь, что это помогает (у меня только что возникла та же проблема, и я нашел этот обходной путь, который отлично работает для меня).

Бен.

1 голос
/ 25 января 2011

Вы должны взглянуть на этот пост: Получение определенного ABSource из ABAddressBook в iOS 4 +

, который демонстрирует, как идентифицировать и нацеливать определенные источники (ABSource) в ABAddressBook. Хотя в этом коде упоминается функция ABGroupCreateInSource (), для работы с людьми существует аналогичная функция ABPersonCreateInSource ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...