如何在iPhone iOS 5上通过编程方式读取通话记录

4
我发现很多关于在iOS 4上读取通话记录的代码示例,但是似乎在iOS 5上这个功能(读取通话记录数据库)被禁用了。
那么有什么解决办法吗?有没有任何(第三方?)方法或技巧可以在iOS 5中读取通话记录?

3
希望没有这样的情况发生。事实上,iOS 4 中暴露这些信息似乎更像是一个 bug 而不是一个特性,特别是考虑到从未为此提供任何 API。 - Caleb
预计这类信息将被锁定,因为Apple加强了用户隐私保护。 - jmstone617
我不明白为什么苹果不允许用户像GPS位置一样授予权限。 - drfence
1个回答

5

请查看GitHub上的SpyPhone项目。

例如,您可以这样获取最近拨打的号码:

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

这在我的iOS5手机上有效。我不认为苹果公司会再对这种功能感到满意。


谢谢,那听起来很酷。但我仍然找不到查询通话记录的方法,以获取"已拨号码、通话时长、呼入/呼出等"信息。 - Tea Bee
1
嘿,你知道从iOS 8开始我们可以获取所有通话记录的详细信息吗? - Herry

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