Nishi Bansal Nishi Bansal - 6 months ago 784
Swift Question

get UDID of IOS device programmatically?

I want to get UDID of iOS device programmatically. I am using the following code to get UDID of iOS device.

NSUUID *uuid = [NSUUID UUID];
NSString *uuidString = uuid.UUIDString;


But output I get is different from actual UDID of my device.

Answer
NSString* Identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; // IOS 6+
  NSLog(@"output is : %@", Identifier);

Swift

let Identifier: String = UIDevice.currentDevice().identifierForVendor().UUIDString()
NSLog("output is : %@", Identifier)

additional reference

Apple is apparently starting to remove access to the UDID (Unique Device IDentifier) in iOS5. In any event, the best you can now do for identification purposes is to use a UUID (Universally Unique IDentifier). This has to be on a per-app basis. That is, there is no way to identify the device any longer, but you can identify an app on a device.As long as the user doesn’t completely delete the app, then this identifier will persist between app launches, and at least let you identify the same user using a particular app on a device. Unfortunately, if the user completely deletes and then reinstalls the app then the ID will change, but this is the best anyone can do going forward.

Comments