Pytanie Uzyskaj CellID, LAC, ... na iOS 8.3


Od wersji iOS 5.X otrzymywałem informacje radiowe za pomocą następujących metod: Uzyskaj CellID, MCC, MNC, LAC i Network w systemie iOS 5.1

Ale dzięki iOS 8.3 beta (i 8.3 GM), to prywatne API

_CTServerConnectionCellMonitorCopyCellInfo

już nie działa.


11
2018-04-09 08:04


pochodzenie




Odpowiedzi:


Apple zostało poinformowane o słabościach w swojej Telefonii Rdzenia, więc teraz połączenia z telefonią CoreTelefon nie powiodły się. Sprawdzają, czy wywołujący jest piaskownicą, więc po debugowaniu możesz zobaczyć:

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

Jednak wciąż jest kilka połączeń, które działają, na przykład:

_CTServerConnectionCopyWakeReason
_CTServerConnectionCopyVoiceMailInfo

etc ... Nie próbowałem wszystkich.

Teraz dużym problemem jest to, że nie możesz nawet uzyskać siły sygnału CTGetSignalStrength zawsze zwraca 0.

A kiedy próbowałeś jakiegoś restrykcyjnego połączenia, jak w twoim przypadku _CTServerConnectionCellMonitorCopyCellInfo następnie możesz zobaczyć kod błędu CTError jest 13 (odmowa uprawnień)


9
2018-04-20 13:46





Począwszy od wersji iOS 8.3 wszystkie powyższe rozwiązania wymagają uprawnień do pracy

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

Nie tylko monitor komórkowy jest chroniony, ale wygląda na to, że wszystkie powiadomienia z CoreTelephony wymagają teraz uprawnień do pracy. Dotyczy to na przykład kCTMessageReceivedNotification.


0
2017-10-19 02:21