【问题标题】:Is there an unofficial way to get the device phone number?是否有非官方的方式来获取设备电话号码?
【发布时间】:2012-03-20 04:55:35
【问题描述】:

我想以编程方式获取设备电话号码(在 iOS5 和 iOS6 上)。
有没有非官方的方法可以做到这一点?

是否有任何私有 Core Telephony API 或 IOKit API 可供使用?

是的,我知道我的应用不会被 AppStore 接受

【问题讨论】:

    标签: ios iphone-privateapi


    【解决方案1】:

    私有 API

    有一个私有 API 来获取电话号码。私有 API 不能提交到 AppStore,但可以在被监禁的设备上执行。

    NSString* CTSettingCopyMyPhoneNumber();
    

    它返回电话号码。它位于 CoreTelephony

    MDM

    实际上,甚至还有一种获取电话号码的合法方式。然而,这很复杂。 iOS 有 MDM 协议。其中一个命令检索有关设备的信息,此信息包括电话号码(以及许多其他设备信息)。

    其他说明

    另外,您可能有兴趣阅读以下几个问题:

    Programmatically get own phone number in iOS

    How can I get the phone number of my iPhone device?

    【讨论】:

    • 谢谢,但是我在这里看到另一个帖子说 CTSettingCopyMyPhoneNumber 曾经存在,但后来被删除了,你能确认一下吗?
    • 只有在您注册 Apple for Enterprise Developer 计划后才能获得官方文档。非官方文档在这里:media.blackhat.com/bh-us-11/Schuetz/…
    • 关于被删除。我只是通过反汇编程序运行 Core Telephony。它仍然存在。我会尝试使用它并让您知道它是否仍然可用。
    • 实际上我确实有一个企业帐户,但我不知道还有一个额外的文档部分仅供企业帐户持有人使用。这是否意味着 MDM 机制仅适用于企业应用程序?
    • 我刚刚检查过了。 CTSettingsCopymyPhoneNumber 工作正常。 MDM 文档位于 iOS Provisioning Portal->Certificates->Other->Moble Device Management 协议下。 MDM 协议是 iOS 设备和服务器之间的协议。 iOS 设备可以注册到 MDM 服务器,然后 MDM 服务器可以向 iOS 设备发送命令(包括有关设备信息的请求)。
    【解决方案2】:

    您可以先搜索private headers

    【讨论】:

      猜你喜欢
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 2016-08-07
      • 2015-04-19
      • 1970-01-01
      相关资源
      最近更新 更多