我希望能以编程方式获取iOS设备的UDID。我正在使用以下代码获取iOS设备的UDID。
NSUUID *uuid = [NSUUID UUID];
NSString *uuidString = uuid.UUIDString;
但是我获得的输出结果与我设备的实际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 (此处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)
附加 参考资料
在iOS 5中,苹果显然开始取消对UDID(设备唯一标识符)的访问。无论如何,现在您可以用UUID(通用唯一标识符)进行标识。这必须基于每个应用程序。也就是说,不再有办法对设备进行标识,但您可以标识设备上的应用程序。只要用户不完全删除应用程序,那么此标识符将在应用程序启动之间保持,并且至少让您使用特定设备上的特定应用程序识别同一用户。不幸的是,如果用户完全删除然后重新安装应用程序,则ID将更改,但这是未来所有人能做到的最好的。