【问题标题】:get IMEI on iPhone with CoreTelephony?使用 CoreTelephony 在 iPhone 上获取 IMEI?
【发布时间】:2013-03-28 01:03:18
【问题描述】:

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

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

关于如何使用这个私有 API 有什么建议吗?

【问题讨论】:

    标签: iphone ios iphone-privateapi imei


    【解决方案1】:

    注意:这不再起作用了!

    尚未在任何新 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

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

    【讨论】:

      猜你喜欢
      • 2014-04-19
      • 2013-03-20
      • 2013-05-16
      • 2012-07-28
      • 2011-12-23
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      相关资源
      最近更新 更多