Apple is changing their privacy settings for iOS6 and deprecating device UUIDs (UDIDs). According to a WWDC presentation and the docs there are two replacements for the UDI
They are two different ids meant for two different purposes.
I would think that the identifierForVendor would be the one to use to do things that require the app linking to a specific user / device such as provide push notifications and updating the user's app data serverside (like their score or whatever other data is being stored for them).
The identifierForAdvertising should be used for things such as targeted advertising and also to check the effectiveness of a particular ad campaign (check to see which devices installed apps due to a particular ad).
I suspect that Apple will simply reject your app if you use identifierForAdvertising
for anything that is not advertising-related (i.e., if you send the identifierForAdvertising
to your own servers even though you're not an advertising network or if you send the identifierForAdvertising
in the same request with other data that could potentially identify an individual).
If my suspicion is correct, the advantage of identifierForVendor
over identifierForAdvertising
is that it won't get your app rejected.
identifierForAdvertising
is probably superior in terms of tracking but might be subject to present or future opt-out by the user. On the other hand identifierForVendor
is not as likely to be subject of the user.
The important thing to know is that the backup of the identifierForVendor can only be restored to the same device. If the backup is restored to a difference device the identifier is cleared.