row*_*man 11 uuid objective-c nsdata nsuuid
我需要NSData从vendorIdentifier没有转化为NSString清晰的字节.如何转换NSUUID使用getUUIDBytes:到NSData?
row*_*man 20
NSUUID *vendorIdentifier = [[UIDevice currentDevice] identifierForVendor];
uuid_t uuid;
[vendorIdentifier getUUIDBytes:uuid];
NSData *vendorData = [NSData dataWithBytes:uuid length:16];
Run Code Online (Sandbox Code Playgroud)
使用它来获取vendorIdentifieras Data(Swift 4):
var uuidBytes = UIDevice.current.identifierForVendor!.uuid
let uuidData = NSData(bytes: &uuidBytes, length: 16) as Data
Run Code Online (Sandbox Code Playgroud)
请记住,UIDevice.current.identifierForVendor如文档所述,防止为零.
原始答案(Swift 2版):
var uuidBytes: [UInt8] = [UInt8](count: 16, repeatedValue: 0)
UIDevice.currentDevice().identifierForVendor!.getUUIDBytes(&uuidBytes)
let uuidData = NSData(bytes: &uuidBytes, length: 16)
Run Code Online (Sandbox Code Playgroud)