自iOS 8.1起,似乎无法再使用IOKit访问序列号:
CFTypeRef serialNumberAsCFString;
io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice"));
serialNumberAsCFString = IORegistryEntryCreateCFProperty(platformExpert, CFSTR(kIOPlatformSerialNumberKey), kCFAllocatorDefault, 0);
IOObjectRelease(platformExpert);
NSString *sn = CFBridgingRelease(serialNumberAsCFString);
此时serialNumberAsCFString
为0x0
,因此sn
为空。
那么现在如何检索序列号呢?或者它不可能再存在?
(我完全清楚IOKit是一个私有框架,它的使用会导致应用被拒绝。)