我已经尝试了接受的答案
How to get IMEI on iPhone?
但是我有一个空字符串。

我看到有人建议使用CoreTelephony框架,
但我不确定如何使用它来获取IMEI。

关于如何使用此私有(private)API的任何建议?

最佳答案

注意:这不再起作用!

尚未在任何新的iOS上进行测试。

您必须将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

您可以检查我的example project

注意:我认为该代码无法在模拟器上运行,并且您的应用可能会被拒绝。

关于iphone - 通过CoreTelephony在iPhone上获得IMEI?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15836900/

10-12 04:55