2014-03-29 51 views
2

使用iOS設備IOKit擴展功能,我可以獲取設備的序列號。在iOS 7中,IOKit二進制文件不在IOKit文件夾中。有沒有其他方法可以獲得序列號?我想在越獄設備上使用它,如果我們打開它,Cydia可以顯示序列號,但是我沒有找到比IOKit更多的其他方式。在iOS 7上獲取設備序列號

回答

2

則可以使用MobileGestalt庫在你的makefile

xxx_LIBRARIES = MobileGestalt

然後聲明得到:

OBJC_EXTERN CFStringRef MGCopyAnswer(CFStringRef key) WEAK_IMPORT_ATTRIBUTE; 
在你的頭文件

然後獲取您必須擁有的序列號SE:

CFStringRef SNumber = MGCopyAnswer(CFSTR("SerialNumber")); 
NSLog (@"Serial Number : %@", SNumber); 

如果你的意思是UDID,你必須使用:

CFStringRef UDNumber = MGCopyAnswer(CFSTR("UniqueDeviceID")); 
NSLog (@"UniqueDeviceID : %@", UDNumber); 
+0

比你!我現在使用MobileGestalt.h,易於使用,非常簡單的解決方案!謝謝! – Cydie

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