I need to reference the ABPerson entries from the application. I use a unique identifier provided by
- (NSString *)uniqueId
and attach it to my contacts record in the app.
In addition, I save ABPerson's vCardRepresentation as a reserve. In case the application can no longer find ABRecord using a unique identifier, the application asks the user to restore the address book entry using the saved vCardRepresentation. Everything is working fine.
Unfortunately, a friend told me that uniqueId is not immutable: during synchronization, uniqueInd may suddenly change.
According to him, somewhere in the documentation for iOS, Apple explains that there is no way to unchanging identify ABPersons, using uniqueId. In the OS X 'Cocoa documentation, I could not find such a hint.
Can a unique ID change unexpectedly on this Mac? If true, what is the correct way to identify ABPerson entries from an external application?
If the unique identifier is not immutable, of course I can assign a custom property with a GUID. Unfortunately, custom fields are not synchronized.
Of course, I would prefer to use uniqueId.
Steap source
share