在iOS 8.3上获取CellID、LAC等信息。

13
2个回答

11

苹果公司被告知其CoreTelephony存在漏洞,因此现在调用CoreTelephony会失败。他们正在检查调用者是否被沙盒化,所以在调试后你可以看到:

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

然而,仍有一些可用的调用,例如:

_CTServerConnectionCopyWakeReason
_CTServerConnectionCopyVoiceMailInfo

等等...我还没有尝试全部。

现在的大问题是你甚至不能获得信号强度,因为CTGetSignalStrength总是返回0。

当你尝试像你这种情况下的一些受限制的调用,比如_CTServerConnectionCellMonitorCopyCellInfo,那么你可以看到CTError中的错误代码是13(权限被拒绝)。


2

从iOS 8.3开始,所有上述解决方案都需要授权才能正常工作。

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

不仅手机监视器受到保护,似乎所有的CoreTelephony通知现在都需要该权限才能工作。例如,kCTMessageReceivedNotification也受到影响。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接