Kirti Nikam
Kirti Nikam

Reputation: 2206

Does UUID getting changed for some cases

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?

  1. If app has been updated. (Found same question)
  2. If the device OS version has been upgraded.
  3. If do iCloud/iTunes backup and restore.
  4. If the device has been reset. (In this case, I think 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.

Upvotes: 15

Views: 14229

Answers (2)

Daniis1infiniteloop
Daniis1infiniteloop

Reputation: 235

It does not get changed until and unless you delete and install the application again.

Upvotes: 0

Jogendar Choudhary
Jogendar Choudhary

Reputation: 3494

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.

Upvotes: 4

Related Questions