Мне нужно получить NSData
из vendorIdentifier
без преобразования в NSString
, очистить байты.
Как преобразовать NSUUID
с помощью getUUIDBytes:
в NSData
?
Как преобразовать NSUUID в NSData
Ответ 1
NSUUID *vendorIdentifier = [[UIDevice currentDevice] identifierForVendor];
uuid_t uuid;
[vendorIdentifier getUUIDBytes:uuid];
NSData *vendorData = [NSData dataWithBytes:uuid length:16];
Ответ 2
Версия Swift 2:
var uuidBytes: [UInt8] = [UInt8](count: 16, repeatedValue: 0)
UIDevice.currentDevice().identifierForVendor!.getUUIDBytes(&uuidBytes)
let uuidData = NSData(bytes: &uuidBytes, length: 16)
Ответ 3
Версия Swift 3:
let vendorId = UIDevice.current.identifierForVendor!
let uuidBytes = Mirror(reflecting: vendorId.uuid).children.map { $0.1 as! UInt8 }
let data = Data(bytes: uuidBytes)