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

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

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

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

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

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

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

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

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

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

  • Есть ли способ проверить, что идентификатор для поставщика (IDFV) действителен?
  • Идентификатор forVendor изменяется при переустановке
  • Я хочу уникальную строку идентификатора, которая обнаруживает устройство iPhone (как UDID)?
  • Изменение свойства $ (AppIdentifierPrefix) вручную?
  • Изменение UUID iPhone при обновлении приложения?
  • iOS: бета-приложение TestFlight получает новый рекламный идентификатор в каждом прогоне
  • Как определить, звонят ли какие-либо внешние библиотеки uniqueIdentifier]?
  • Приложение iOS7 назад совместимо с iOS5 относительно уникального идентификатора
  • iOS7 - уникальный идентификатор устройства
  • Как идентифицировать устройство iOS уникально, вместо использования UUID и UDID
  • Замена UDID для iOS 8 и iOS 7
  • Interesting Posts

    Раскадровка Segue для нескольких просмотров?

    Как я могу сжать видео в ios с помощью Bit Rate?

    Программно отклонить кнопку / состояние «проведите по удалению» для UITableViewCell?

    Phonegap – очистить кеш в приложении ios

    Проблема с представлением UIImagePickerController в iOS 7

    Набор для воспроизведения Не работает IPAD IOS11 BUG

    Обновите профиль Provisioning iOS на домашнем приложении

    GameKit может подключиться к Wi-Fi без беспроводного маршрутизатора?

    Как найти утечки кода C или C ++ с помощью инструментов (утечки) – Xcode?

    Что такое интерпретация для bundleForClass возвращает nil и как это можно исправить?

    Получить высоту документа PDF в iOS WebView

    Как установить специальный профиль подготовки на устройстве тестера без использования iTunes и TestFlight

    Какова цель параметра «forKey» при добавлении CAAnimation к слою?

    Производительность: отношения основных данных становятся ошибочными после назначения

    NSCharacter Set использует int, но мне нужен неназначенный короткий?

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