Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get CellID, LAC, ... on iOS 8.3

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 private API

_CTServerConnectionCellMonitorCopyCellInfo

doesn't work anymore.

like image 455
Boobby69 Avatar asked Apr 09 '15 08:04

Boobby69


People also ask

How do I find the cell ID for my iPhone?

*3001#12345#* and tap Call. Enter Field Mode. Field mode reveals many of the inner settings of your iPhone, specifically up-to-date network and cell information.

What is my Lac?

The LAC is used as a unique reference for the location of a mobile subscriber. This code is necessary to address the subscriber in the case of an incoming call. The LAC forms part of the Location Area Identity (LAI) and is broadcast on the Broadcast Control Channel (BCCH).


2 Answers

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.

like image 177
cellmap Avatar answered Sep 29 '22 17:09

cellmap


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)

like image 22
Hlavne Krokozvidze Avatar answered Sep 30 '22 17:09

Hlavne Krokozvidze