Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

_CTCallCopyAllCalls always returns empty array #4

Open
dave-trudes opened this issue Mar 21, 2014 · 9 comments
Open

_CTCallCopyAllCalls always returns empty array #4

dave-trudes opened this issue Mar 21, 2014 · 9 comments

Comments

@dave-trudes
Copy link

I assume that _CTCallCopyAllCalls should return the call history but it returns an empty array...

@caughtinflux
Copy link

Are you sure it doesn't return an array of active calls?

@Bensge
Copy link

Bensge commented Mar 21, 2014

I can confirm _CTCallCopyAllCalls is working on my end. Usage example: https://www.dropbox.com/s/g0zs1sjyscmomb7/Screenshot%202014-03-21%2018.49.20.png
You may also need a special entitlement to use this API in your own process.

@davidmurray
Copy link
Owner

Is there anything relevant in the syslog? iOS usually tells you if you're missing an entitlement.

@dave-trudes
Copy link
Author

Thanks for your hints.
Do you know the name of the entitlement? The only entry in the syslog that may be relevant is: <Error>: HID: The 'Passive' connection 'CallLog' access to protected services is denied.

My code looks like:

extern CFArrayRef _CTCallCopyAllCalls();
NSLog(@"call history: %@", _CTCallCopyAllCalls());

@Bensge
Copy link

Bensge commented Mar 24, 2014

You can get the entitlements of a binary with ldid -e /path/to/binary. As the functions returns valid data in SpringBoard as well, comparing the entitlements of the Phone app and SpringBoard, one possible candidate is com.apple.private.icfcallserver. In case that doesn't work, use ldid and try the other entitlements of the Phone app or SpringBoard.

@dave-trudes
Copy link
Author

I see, so the device needs to be jailbroken to use that method?

@davidmurray
Copy link
Owner

No, not necessarily. You just need to get your app signed with the entitlement. However, I seriously doubt Apple will allow your app in the App Store if you use private entitlements & APIs.

That said, try this one:

com.apple.coretelephony.Calls.allow

It might work.

@navarro75
Copy link

Thank you for your work guys, what do i need to do on my end to get this up and running?

@davidmurray
Copy link
Owner

davidmurray commented May 28, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants