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?
相关问题
- Core Data lightweight migration crashes after App
- How can I implement password recovery in an iPhone
- State preservation and restoration strategies with
- “Zero out” sensitive String data in Swift
- Get the NSRange for the visible text after scroll
相关文章
- 现在使用swift开发ios应用好还是swift?
- UITableView dragging distance with UIRefreshContro
- TCC __TCCAccessRequest_block_invoke
- Where does a host app handle NSExtensionContext#co
- Swift - hide pickerView after value selected
- How do you detect key up / key down events from a
- didBeginContact:(SKPhysicsContact *)contact not in
- Attempt to present UIAlertController on View Contr
There is no official, definitive list from Apple. The documentation only states:
Apple don't give any further detail. It's known that resetting the device changes the ADID, as does the user manually resetting it themselves (where this feature is available, so iOS 6.1+). I've not been able to find anything that suggests an OS update would reset the identifier.
It is of course possible other, undocumented behaviour resets the identifier, but I've not been able to find anything else.
(effects on
advertisingIdentifier
andidentifierForVendor
, 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
andidentifierForVendor
.Restoring a device via iTunes
Resets both
advertisingIdentifier
andidentifierForVendor
.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 aadvertisingIdentifier
, 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
andidentifierForVendor
. Note: If you delete multiple apps with some Team ID before the restore, theidentifierForVendor
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
andidentifierForVendor
.(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.Two cases:
Backups, OS upgrades, app re-install, or choosing “Limit Ad Tracking” won't reset the identifier.
AFAIK you could send the vendor ID and the advertising ID to the server, and when the user resets the advertising ID with “Reset Advertising Identifier”, you can match the new with the old one, because the vendor ID survives. No idea how Apple intends to prevent this.