我想通过代码唯一地标识我的mac系统。我在“关于 native ”中找到了硬件UUID。
因此,如何以编程方式从MAc OS X访问唯一的uuid。

如果对我的问题有其他建议,请给我。

最佳答案

因此,如果您不关心新的AppStore规则等...,请按以下步骤操作:

- (NSString *)getSystemUUID {
    io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault,IOServiceMatching("IOPlatformExpertDevice"));
    if (!platformExpert)
        return nil;

    CFTypeRef serialNumberAsCFString = IORegistryEntryCreateCFProperty(platformExpert,CFSTR(kIOPlatformUUIDKey),kCFAllocatorDefault, 0);
    IOObjectRelease(platformExpert);
    if (!serialNumberAsCFString)
        return nil;

    return (__bridge NSString *)(serialNumberAsCFString);;
}

请注意:
  • 为此,您需要向项目中添加IOKit.framework去工作。
  • 此代码符合ARC;
  • 此代码是安全的,如果出现问题,它将返回nil NSString
  • 苹果公司不保证将来的所有系统都具有软件可读的序列号。
  • 开发人员不应对
    序列号的格式,例如长度或字符
    可能含有。
  • 09-05 05:24