通过iOS设备IOKit扩展,我能够获得设备的序列号。在iOS 7中,IOKit二进制文件不在IOKit文件夹上。还有别的方法可以得到序列号吗?我想在越狱设备上使用它,如果我们打开它,Cydia可以显示序列号,但是除了IOKit之外,我没有找到其他的方法。
发布于 2014-03-29 18:32:56
您可以在生成文件中使用MobileGestalt库获得它
xxx_LIBRARIES = MobileGestalt
然后宣布:
OBJC_EXTERN CFStringRef MGCopyAnswer(CFStringRef key) WEAK_IMPORT_ATTRIBUTE;在你的头文件中
那么,要获得您必须使用的序列号:
CFStringRef SNumber = MGCopyAnswer(CFSTR("SerialNumber"));
NSLog (@"Serial Number : %@", SNumber);如果您的意思是UDID,您必须使用:
CFStringRef UDNumber = MGCopyAnswer(CFSTR("UniqueDeviceID"));
NSLog (@"UniqueDeviceID : %@", UDNumber);发布于 2014-03-29 18:26:34
Cydia是开源的http://gitweb.saurik.com/cydia.git。下面是它是如何做到的
static NSString *UniqueIdentifier(UIDevice *device = nil) {
if (kCFCoreFoundationVersionNumber < 800) // iOS 7.x
return [device ?: [UIDevice currentDevice] uniqueIdentifier];
else
return [(id)$MGCopyAnswer(CFSTR("UniqueDeviceID")) autorelease];
}https://stackoverflow.com/questions/22734577
复制相似问题