在iOS 7上获取设备序列号

时间:2014-03-29 17:48:16

标签: ios7 jailbreak cydia iokit

使用iOS设备IOKit扩展,我能够获得设备的序列号。在iOS 7中,IOKit二进制文件不在IOKit文件夹中。有没有其他方法来获取序列号?我想在越狱设备上使用它,如果我们打开它,Cydia可以显示序列号,但我没有找到除IOKit之外的其他方式。

2 个答案:

答案 0 :(得分:3)

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];
}

答案 1 :(得分:2)

您可以在makefile中使用MobileGestalt Library获取它

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);