How to uniquely identify users ios7+?

428 Views Asked by At

I want to know who the user is without them actually logging in. There are bunch of methods on the internet and the one I am currently using is:

static let DeviceId = UIDevice.currentDevice().identifierForVendor.UUIDString

The problem is this resets when the user deletes and reinstalls my app. Also somehow this value changes in about 1-5% of the users without them actually deleting the app. It happens after they upgraded to a new iOS version. Possibly happens when they change appstore country too.

I want the user id to be unique no matter whatever the user does. Kind of like how Whisper app works.

What is the best way to do this? Advertising identifier looks really good on paper, but does apple allow using that just for user login info?

Should I use keychain? icloud? Is there some other value I can use?

Here are some sources I read about this topc:
http://tinymission.com/post/ios-identifierforvendor-frequently-changing
http://possiblemobile.com/2013/04/unique-identifiers/
How to preserve identifierForVendor in ios after uninstalling ios app on device?

0

There are 0 best solutions below