Other than the user manually resetting it, has anyone observed other things that will cause the ADID to be reset? OTA OS Upgrades? iTunes Restores?
(effects on advertisingIdentifier
and identifierForVendor
, as tested on an iPhone 3GS with iOS 6.0.1 and iOS 6.1.3 and an iPhone 4S with iOS 6.1.3 and iOS 7.0.0)
"Reset All Settings" in iOS Settings app
No effect
"Erase All Content and Settings" in iOS Settings app
Resets both advertisingIdentifier
and identifierForVendor
.
Restoring a device via iTunes
Resets both advertisingIdentifier
and identifierForVendor
.
Deleting an app from the device
Resets identifierForVendor
, if this was the last app with a specific Team ID.
Updating an app (automatically or via App Store)
No effect
Updating an app via TestFlight or Ad-Hoc
May reset the identifierForVendor
, according to documentation.
Enabling/disabling "Limit Ad Tracking"
iOS 6.0.1: No effect
iOS 6.1.3: Resets the advertisingIdentifier
.
System Update OTA (iOS 6.0.1 to iOS 6.1.3)
No effect
System Update OTA (iOS 6.1.3 to iOS 7.0.0)
Resets the identifierForVendor
in some cases. (1)
System Update via iTunes (iOS 6.1.3 to iOS 7.0.0)
Resets the identifierForVendor
in some cases. (1)
"Reset Advertising Identifier" in iOS Settings app
Resets the advertisingIdentifier
. If some running (or suspended) apps already
requested a advertisingIdentifier
, they will not be able to
retrieve the new one until they are stopped and relaunched.
Backup via iTunes
No effect
Restore of a Backup via iTunes (to the same device)
Restores the backed-up settings, including both advertisingIdentifier
and
identifierForVendor
. Note: If you delete multiple apps with some
Team ID before the restore, the identifierForVendor
will never be
reset again until you reinstall all apps with that Team ID you had
installed and delete them again. This seems to be a bug.
Restore of a Backup via iTunes (to a different device)
Resets both advertisingIdentifier
and identifierForVendor
.
(1) As far as I understand, this should not happen with Apps in the App Store. It seems to be related to the number of components in the app's bundleID and the respective provisioning profile: iOS 7 App Release Notes regarding App Deployment
In my tests, the identifierForVendor
in apps with 4 components did change (for versions with either developer or enterprise distribution provisioning profiles), but did not change for those with 3 components.