用CoreTelephony在iPhone上获取IMEI?

我已经尝试了如何在iPhone上获得IMEI的接受答案? 但是我得到了一个空string。

我看到有人build议使用CoreTelephony框架,但我不知道如何使用它来获取IMEI。

任何关于如何使用这个私人API的build议?

注意:这不起作用了!

没有在任何新的iOS上进行testing。

您必须将CoreTelephony.h添加到您的项目中。 确保标题有

int * _CTServerConnectionCopyMobileEquipmentInfo ( struct CTResult * Status, struct __CTServerConnection * Connection, CFMutableDictionaryRef * Dictionary ); 

那么你可以试试这个代码:

 #import "CoreTelephony.h" void getImei() { struct CTResult it; CFMutableDictionaryRef kCTDict; conn = _CTServerConnectionCreate(kCFAllocatorDefault, ConnectionCallback,NULL); _CTServerConnectionCopyMobileEquipmentInfo(&it, conn, &kCTDict); NSLog (@ "kCTDict is %@", kCTDict); CFStringRef meid = CFDictionaryGetValue(kCTDict, CFSTR("kCTMobileEquipmentInfoMEID")); NSLog (@ "kCTMobileEquipmentInfoMEID is %@", meid); CFStringRef mobileId = CFDictionaryGetValue(kCTDict, CFSTR("kCTMobileEquipmentInfoCurrentMobileId")); NSLog (@ "kCTMobileEquipmentInfoCurrentMobileId is %@", mobileId); } 

这里是CoreTelephony.h

你可以检查我的示例项目 。

注意:我不认为代码在模拟器上工作,你的应用程序可能会被拒绝。