我们在iOS开发中一般都会记录设备ID(唯一标识符)用作后台数据统计,iOS提供了一个很方便的设备类UIDevice
,我们可以轻松的获取相对稳定的唯一标识符,可是在macOS开发中Cocoa
库中却没有类似的类给我们使用,可是我们却有这样的需求,那我们就解决这个问题
解决方面:使用IOKit库来生成
- 导入头文件
#import <IOKit/IOKitLib.h>
- 获取硬件设备标识
-(NSString *) get_platform_uuid {
io_registry_entry_t ioRegistryRoot = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/");
CFStringRef uuidCf = (CFStringRef) IORegistryEntryCreateCFProperty(ioRegistryRoot, CFSTR(kIOPlatformUUIDKey), kCFAllocatorDefault, 0);
IOObjectRelease(ioRegistryRoot);
NSString * uuid = (__bridge NSString *)uuidCf;
CFRelease(uuidCf);
return uuid;
}
结果是这样的:
A91E86D9-9F13-59CA-86BF-61D6FB175AC0
完美
网友评论