以编程方式获取IOS设备的UDID?

时间:2015-07-27 11:50:57

标签: ios objective-c iphone udid

我想以编程方式获取iOS设备的UDID。我使用以下代码获取iOS设备的UDID。

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

但我得到的输出与我设备的实际UDID不同。

1 个答案:

答案 0 :(得分:48)

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

Swift 2.X(此处所有版本均为2.0以上X

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

<强> Swift3

let identifier = UIDevice.current.identifierForVendor?.uuidString

NSLog("output is : %@", identifier! as String)

额外reference

  

Apple显然已开始删除iOS5中对UDID(唯一设备标识符)的访问权限。无论如何,您现在可以做的最好的识别是使用UUID(通用唯一标识符)。这必须基于每个应用程序。也就是说,无法再识别设备,但您可以识别设备上的应用程序。只要用户没有完全删除应用程序,那么此标识符将在应用程序启动之间保持不变,至少让您使用设备上的特定应用识别同一用户。不幸的是,如果用户完全删除并重新安装应用程序,那么ID将会改变,但这是任何人都可以做的最好的。