我想以编程方式获取iOS设备的UDID。我使用以下代码获取iOS设备的UDID。
NSUUID *uuid = [NSUUID UUID];
NSString *uuidString = uuid.UUIDString;
但我得到的输出与我设备的实际UDID不同。
答案 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)
Apple显然已开始删除iOS5中对UDID(唯一设备标识符)的访问权限。无论如何,您现在可以做的最好的识别是使用UUID(通用唯一标识符)。这必须基于每个应用程序。也就是说,无法再识别设备,但您可以识别设备上的应用程序。只要用户没有完全删除应用程序,那么此标识符将在应用程序启动之间保持不变,至少让您使用设备上的特定应用识别同一用户。不幸的是,如果用户完全删除并重新安装应用程序,那么ID将会改变,但这是任何人都可以做的最好的。