32

I'm doing some research on the feasibility of an iPhone application, and can't find any indication in Apple's documentation that an iPhone app can read the call history of the phone, specifically the number called, when, and the duration... I also need the same information for SMS.

First of all: I've done my research and googled around, searched around on this site! I know this question had been asked a lot of times before, and the answer was always: "It can't be done" (at least not on a non-jailbroken iPhone).

I searched the API including Core Telephony and didn't find anything myself either.

So why this question? Because this app in the App Store seems to be doing this without a problem... : http://itunes.apple.com/us/app/callog/id327883585?mt=8

Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
Glenn
  • 2,808
  • 2
  • 24
  • 30
  • Well...that's a good question, if indeed that app works like it says: "All the calls wether you used this app to make those phone calls or used your device phone program..." – bensnider Jun 02 '11 at 13:08
  • 1
    I didn't see the information in ASL logs. You see some events like "Application terminated call", but not the start of the call. The call information is in the SQLite file /mobile/Library/CallHistory/call_history.db ( – Jano Jun 02 '11 at 13:40

3 Answers3

7

Sorry but right now it really can't be done..

On iOS 5 there isn't any access to call_history.db -> Which is exactly what you were looking for.

The app mentioned here: http://itunes.apple.com/us/app/callog/id327883585?mt=8 Does not work with iOS 5 (don't download but check the users' reviews..)

On iOS 4, you might still be able to get away with it: http://iosstuff.wordpress.com/2011/08/19/accessing-iphone-call-history/ But who develops solely for iOS 4 these days..?

eladleb
  • 2,616
  • 26
  • 21
5

This doesn't need jailbreak. U can use the FMDB to access the call_history.db. It doesn't need any third party API's. I don't know, Apple will accept it or not, but I know it can be accessed as I have already done that in one of my apps, I am currently working on.

Prince iPhone
  • 292
  • 2
  • 5
  • 1
    Great, thank you Prince iPhone, this is working. Now let's hope that Apple accepts it. – Glenn Jun 07 '11 at 22:10
  • So would we just point FMDB at the `/private/var/wireless/Library/CallHistory/call_history.db` database and have at it? – bensnider Jun 09 '11 at 13:44
  • 1
    It's working for me. At least on my jailbroken iPhone. (haven't done anything else but jailbreaking). It isn't working on a non jailbroken iPhone, but that one is running iOS 5 Beta... – Glenn Jun 09 '11 at 22:47
  • Couldn't get this working on my project. All I get is "authorization denied" or "unable to open database file" ): – Felipe Mar 09 '16 at 21:55
  • 1
    @FelipeGringo this solution was posted way back in 2011. There have been tremendous changes since then. AFAIK, if you really need to access the call log, jailbreak is the only way to go. Else, you can't. – Prince iPhone Mar 22 '16 at 11:16
  • Is it possible now? for non jailbroken phones? – Anurag Sharma Jan 08 '17 at 09:55
  • 1
    @AnuragSharma nope – Prince iPhone Jan 23 '17 at 12:06
  • I've confirmed: no longer possible. Safe to assume this will not change. `WhatsApp` *appears* to have done this, but they are only able to record call logs for calls made inside their app, so don't let this confuse you. – jungledev May 11 '17 at 20:54
3

This is possible since this https://itunes.apple.com/us/app/navita-t.e.m.-personal/id590228620?mt=8 application does that. The question is, how?

Diego Plentz
  • 6,760
  • 3
  • 30
  • 31
  • It looks like Navita is a mobile telecommunications operator? Then the app probably simply checks your data on their servers. – fishinear Jan 14 '14 at 14:28
  • Not really. It's just a regular app that you can download in any operator and it works. – Diego Plentz Jan 15 '14 at 01:52
  • 3
    "Due to Apple's new Policies we did remove the features for voice monitoring. It's only available for the enterprise edition. If you're interest to have this tool for your company, please contact us", they where probably using private apis and got caught by apple – jcesarmobile Oct 19 '15 at 07:07