Get CellID, LAC, … on iOS 8.3

前端 未结 2 1047
臣服心动
臣服心动 2020-12-24 15:43

Since iOS 5.X, I used to get radio information with these methods : Get CellID, MCC, MNC, LAC, and Network in iOS 5.1

But with the iOS 8.3 beta (and 8.3 GM), this pr

相关标签:
2条回答
  • 2020-12-24 15:59

    Apple was informed about weakness in their CoreTelephony, so now calls to CoreTelephony fail. They are checking if the caller is sandboxed, so after debug you can see:

    Caller not allowed to perform action: TelephonyApiTest.240, action = sandboxed lookup, code = 1: Operation not permitted, uid = 501, euid = 501, gid = 501, egid = 501, asid = 0
    

    However, there are still few calls which works, for example:

    _CTServerConnectionCopyWakeReason
    _CTServerConnectionCopyVoiceMailInfo
    

    etc ... I haven't tried all.

    The big problem now is you cannot even get a signal strength as CTGetSignalStrength always returns 0.

    And when you tried some resticted call like in your case _CTServerConnectionCellMonitorCopyCellInfo then you can see error code in CTError is 13 (Permission denied)

    0 讨论(0)
  • 2020-12-24 16:20

    As of iOS 8.3 all of the above solutions require entitlement to work

        <key>com.apple.CommCenter.fine-grained</key>
    <array>
        <string>spi</string>
    </array>
    

    Not only cell monitor is protected but it seems like all of the CoreTelephony notifications now require that entitlement to work. For example, kCTMessageReceivedNotification also affected.

    0 讨论(0)
提交回复
热议问题