【发布时间】:2013-03-28 01:03:18
【问题描述】:
我已经尝试了接受的答案 How to get IMEI on iPhone? 但我得到了一个空字符串。
我看到有人建议使用 CoreTelephony 框架, 但我不确定如何使用它来获取 IMEI。
关于如何使用这个私有 API 有什么建议吗?
【问题讨论】:
标签: iphone ios iphone-privateapi imei
我已经尝试了接受的答案 How to get IMEI on iPhone? 但我得到了一个空字符串。
我看到有人建议使用 CoreTelephony 框架, 但我不确定如何使用它来获取 IMEI。
关于如何使用这个私有 API 有什么建议吗?
【问题讨论】:
标签: iphone ios iphone-privateapi imei
注意:这不再起作用了!
尚未在任何新 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);
}
你可以查看我的example project。
注意:我认为代码不能在模拟器上运行,您的应用可能会被拒绝。
【讨论】: