macOS开发之获取设备ID

我们在iOS开发中一般都会记录设备ID(唯一标识符)用作后台数据统计,iOS提供了一个很方便的设备类UIDevice,我们可以轻松的获取相对稳定的唯一标识符,可是在macOS开发中Cocoa库中却没有类似的类给我们使用,可是我们却有这样的需求,那我们就解决这个问题

解决方面:使用IOKit库来生成

  1. 导入头文件#import <IOKit/IOKitLib.h>
  2. 获取硬件设备标识
-(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

完美

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容