iOS6 UDID - What advantages does identifierForVendor have over identifierForAdvertising?

Tihom picture Tihom · Aug 6, 2012 · Viewed 42.2k times · Source

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 UDIDs, both in the UIDevice class:

-identifierForVendor

  • ID that is identical between apps from the same developer.
  • Erased with removal of the last app for that Team ID.
  • Backed up.

-identifierForAdvertising

  • Unique to the device.
  • Available to all applications; used for advertising — iAd has converted from UDID for iOS 6 and later.
  • Reset with "Erase All Content & Settings".
  • Backed up.

It seems to me that -identifierForVendor is inferior to -identifierForAdvertising since it would get reset on last uninstall of an app from a vendor and by "erase all contents & settings".

What advantages does -identifierForVendor have over -identifierForAdvertising?

Answer

JRG-Developer picture JRG-Developer · Sep 19, 2012

Important Note:

Apple just released iOS 6.0 and the NDA has been lifted.

For developers who preemptively included code that referenced

[[UIDevice currentDevice] identifierForAdvertising]

this method has NOT been included on iOS 6. If you use the above method, your app will (most likely) crash and be rejected!

Instead, Apple has created a new class ASIdentifierManager , which includes the method advertisingIdentifier. Here's the apple docs on it: