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

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

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

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

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

Swift 2.X(这里是2.0以上的所有版本)

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

Swift3

 let Identifier = UIDevice.current.identifierForVendor?.uuidString NSLog("output is : %@", Identifier! as String) 

额外的参考

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