Однозначно идентифицируйте записи ABRecord: является ли [ABRecord uniqueId] неизменным?

Мне нужно ссылаться на записи ABPerson из приложения. Я использую уникальный идентификатор , предоставленный

  - (NSString *)uniqueId

, и прикрепляю его к своей контактной записи в приложении.

Кроме того, я сохраняю ABPerson's vCardRepresentation в качестве запасного варианта. В случае, если приложение больше не может найти ABRecord с помощью уникального идентификатора, приложение просит пользователя восстановить запись адресной книги, используя сохраненную vCardRepresentation. Все работает нормально.

К сожалению, друг сказал мне, что uniqueId не является неизменным: во время синхронизации uniqueId может внезапно измениться.

По его словам, где-то в документации iOS Apple объясняет, что не существует способа неизменяемого идентифицировать ABPersons с помощью uniqueId. В документации OS X Cocoa мне не удалось найти такой намек.

Может ли уникальный идентификатор внезапно измениться на данном компьютере Mac? Если это правда, как правильно идентифицировать записи ABPerson из внешнего приложения?

Если uniqueID не является неизменяемым, я, конечно, могу назначить настраиваемое свойство с GUID. К несчастью,настраиваемые поля не синхронизируются.

Конечно, я бы предпочел использовать uniqueId.

5
задан SteAp 17 August 2011 в 21:20
поделиться