访问拨打的电话号码

时间:2012-03-21 21:33:22

标签: iphone ios jailbreak

我正在开发一个严格证明概念的应用程序。我需要做的是获取已拨打的当前号码。我检查了CoreTelephony框架文档,它有一个名为CTCall的类,它暴露了两个属性 - callID和callState。因此它允许检测呼叫状态的变化(例如,当拨打号码,连接呼叫时等等)但是callID似乎完全没用。

有人知道另一种访问此信息的方法吗?私人API也很好,越狱方法也是如此。因为我正在研究的是严格的概念证明。

提前致谢。

2 个答案:

答案 0 :(得分:1)

我找到了另一种检索当前拨打号码的方法。下面是代码。

NSString *path = @"/var/mobile/Library/Preferences/com.apple.mobilephone.plist";
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
NSMutableString *number = [NSString stringWithFormat:@"%@", [dict valueForKey:@"DialerSavedNumber"]];

限制:如果通过点击链接拨打该号码,或者通过点击最近列表或联系人中的号码拨打该号码,则不会拨打所拨号码。仅在拨号器上拨打号码时才有效

答案 1 :(得分:0)

搜索通话记录的越狱方式是直接查询数据库文件。看看这个example

在iOS 5上,沙盒应用程序没有此文件的读取权限,周围(仅限越狱)是手动签署应用程序并将其复制到系统应用程序文件夹。

检查this question以获取有关该主题的更多信息。