SDK 是否提供用于检索当前 Macbook 的 UUID 的 API?
问问题
1594 次
1 回答
4
所以,如果你不关心新的 AppStore 规则等等......你去:
- (NSString *)getSystemUUID {
io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault,IOServiceMatching("IOPlatformExpertDevice"));
if (!platformExpert)
return nil;
CFTypeRef serialNumberAsCFString = IORegistryEntryCreateCFProperty(platformExpert,CFSTR(kIOPlatformUUIDKey),kCFAllocatorDefault, 0);
if (!serialNumberAsCFString)
return nil;
IOObjectRelease(platformExpert);
return (__bridge NSString *)(serialNumberAsCFString);;
}
请注意:
- 您需要添加
IOKit.framework
到您的项目中才能使其正常工作。 - 此代码符合 ARC;
- 这段代码是安全的,
nil
NSString
如果出现问题它会返回一个; - Apple 不保证所有未来的系统都将具有软件可读的序列号。
- 开发人员不应对序列号的格式做出任何假设,例如序列号的长度或可能包含的字符。
于 2013-06-25T16:43:04.797 回答