I am using user's device UUID
to get unique device.
NSString *currentUUIDString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
I know that UUID
getting changed if the app gets deleted/reinstalls (Apple document).
But Does UUID
getting changed for following cases?
OS version
has been upgraded.iCloud/iTunes
backup and restore.UUID
Keychain
storage will not work. Keychain storage also getting cleared I guess.)Edit:
No, This is not duplicate, that question is related to how to identify the device uniquely and I have already followed. I know that we can use UUID
to identify device uniquely. But my concern is what are the frequencies that UUID
might get changed and if changed then what are the scenarios in which it can be changed.
Yes
The device's identifierForVendor is an excellent way of identifying the device. It will change if the app (and all apps from the same developer) is removed from the device and reinstalled. It does not depend on wifi/Bluetooth connections. With the exception of a bug last year, it does not change with operating systems. ...... You could also write your own UUID to the keychain - that survives delete/reinstall of the app...You could also write something to the user's iCloud key-value file. That would be user-specific rather than device-specific. It also survives delete/reinstall. I think that is what you want.