Мне нужно ссылаться на записи ABPerson из приложения. Я использую уникальный идентификатор, предоставленный
- (NSString *)uniqueId
и прикрепите его к моей контактной записи в приложении.
Кроме того, я сохраняю ABPerson vCardRepresentation в качестве запасного варианта. Если приложение больше не может найти ABRecord с помощью уникального идентификатора, приложение просит пользователя восстановить запись адресной книги с помощью сохраненного vCardRepresentation. Все работает нормально.
К сожалению, друг сказал мне, что уникальный идентификатор не является неизменным: во время синхронизации уникальный идентификатор может внезапно измениться.
По его словам, где-то в документации iOS Apple объясняет, что не существует способа неизменяемой идентификации ABPersons с использованием uniqueId. В документации OS X Cocoa я не нашел такой подсказки.
Может ли уникальный идентификатор внезапно измениться на данном Mac? Если это так, как правильно идентифицировать записи ABPerson из внешнего приложения?
В случае, если уникальный идентификатор не является неизменным, я, безусловно, могу назначить пользовательское свойство с помощью GUID. К сожалению, настраиваемые поля не синхронизируются.
Конечно, я бы предпочел использовать uniqueId.