Существует ли свойство «uniqueID» для контактов адресной книги?

Я делаю игру с участием контактов пользователя, но вам нужен способ однозначно идентифицировать каждого контакта. Это связано с тем, что пользователь может легко изменить имя, номер телефона или другое свойство данного контакта. Есть ли способ сделать это?

2 Solutions collect form web for “Существует ли свойство «uniqueID» для контактов адресной книги?”

Вы можете использовать ABRecordGetRecordID() чтобы получить уникальный идентификатор записи. Он возвращает ABRecordID который является typedef для int32_t .

ABRecordGetRecordID () – это API, который вы можете использовать. Тем не менее, в документации Apple содержатся некоторые примечательные моменты об ABRecordID, возвращенные этим API.

Каждая запись в базе данных адресной книги имеет уникальный идентификатор записи. Этот идентификатор всегда относится к одной и той же записи, если только эта запись не удалена или данные не сбрасываются. Идентификаторы записи могут быть безопасно переданы между потоками. Они не могут оставаться неизменными на всех устройствах.

Предлагаемый метод в соответствии с рекомендациями Apple

Рекомендуемый способ сохранить долгосрочную ссылку на конкретную запись – сохранить в дополнение к идентификатору первое и последнее имя или хэш первого и последнего имени. Когда вы просматриваете запись по идентификатору, сравните имя записи с вашим сохраненным именем. Если они не совпадают, используйте сохраненное имя, чтобы найти запись, и сохраните новый идентификатор для записи.

В моем приложении я также проверяю дату создания контакта, так как имя пользователя ABRecordID могло быть изменено пользователем. Дата создания контакта НЕ изменяется при перезагрузке устройства.

Хотя я вставлял большую часть контента здесь, он всегда советовал прочитать документацию

  • Приложение отклонено, но я не использую UDID
  • Насколько уникальны идентификаторы, созданные с помощью CFUUID, в iOS?
  • Отказано в AppStore Submission - приложениям не разрешено использовать UDID
  • Как найти файл, вызывающий uniqueIdentifier в UIDevice?
  • Идентификатор forVendor изменяется при переустановке
  • Замена UDID для iOS 8 и iOS 7
  • Как создать уникальный идентификатор, который должен работать во всех версиях iOS?
  • iOS: бета-приложение TestFlight получает новый рекламный идентификатор в каждом прогоне
  • Как сохранить идентификаторForVendor в ios после удаления приложения ios на устройстве?
  • Изменение свойства $ (AppIdentifierPrefix) вручную?
  • Получить идентификатор устройства iOS
  • Идентификаторы поставщика Не работает в версии iOS 5.0
  • Interesting Posts

    Можно ли заставить дату устройства проверять локальные уведомления?

    Spotify iOS SDK: поведение с не премиум-аккаунтами

    Интеграция Apple Pay с использованием Cybersource

    Как выйти из системы с помощью аутентификации Facebook с помощью Swift и iOS?

    Неопределенные символы для архитектуры i386: _OBJC_CLASS _ $ _ SKPSMTPMessage ", на которые ссылаются: ошибка

    Xcode 8: Конструктор интерфейсов показывает другой цвет, который установлен

    MPMoviePlayerController: игрок скрывает элементы управления плеером только в дутье iOS6

    Справа налево UILabels

    Анимационный узел SceneKit вдоль пути

    Распределение счетчиков в реальном времени Firebase несоответствие

    Разрешения для камеры iOS не отображаются в настройках на некоторых устройствах

    iOS XMPP-чат через HTTP-прокси

    Последовательный конфликт приложений iPhone при редактировании UITextField, нажав на значок Globe на iPhone Keyboard, как на аппаратном, так и на Simulator

    другое поведение для текущей широты и долготы местоположения в iOS7 до IOS8

    О разрешении в передаче файлов S3

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.