iOS application with CallKit - access last call - ios

I am newbie in ios app development. I want to create application for ios with the following functionality. When the phone is receiving incoming call (no matter if the number is in the contact list or not) I want when the call is over and the phone's owner opens my application to see he's last call's number there.
Is that possible? I've read about CallKit API but I am still not sure if this can help me. Is it possible phone's owner to give such permissions to my app so it can access this information?

Related

Show Blocked Contacts using ABAddressBook

This question is for iOS 10 and Xcode 8. I know how to get user local address book contacts using ABAddressbook and show them in my app. What I was trying to do next are two things
Show the user what contacts he/she has blocked himself
Try see if I can block or unblock those contacts programmatically
The reason I am doing this is that as of now the only way to "block" a contact using native iOS app is to click on a contact, scroll down and click on block/unblock button. I was just trying to figure out if I can help the user quickly see all the contacts in their addresbook they have blocked and perhaps unblock/block one with one less tap using my app.
I have looked into callkit and that is not what I need. I am not creating a VOIP app nor do I need to create my own block list.
I have googled quite a bit and didn't find an answer for blocking / unblocking contacts using ABAddressbook which must mean its not possible. Suggestions?
In some way it is not possible till your device is jailbroken as this says and also it is possible if we use CallKit framework as Possible to programmatically block phone number in iOS source.
Apple document Says
The CallKit framework provides programmatic access to VoIP functionality, as well as call blocking and identification.

Delete dial call number from recent call list in ios

I have a some special requirement to delete dial call number from call list. I research a lot on SO but not able to get any answer for this. Is it possible in iPhone?
Apple doesn't allow developers to modify call list or history, since it will violate user's privacy policy. It is not possible to achieve in iOS with iOS public framework, used to submit apps to appstore. It is only possible by using private frameworks... or you can say jailbreaking the device. But you won't be able to submit app to store. It will be rejected.
Simple answer: No you cannot. Apple iOS doesn't allow you to access some of the applications such as Phone and Messages - So it is not possible for you directly access the call log, read messages or whatsoever. What you can do is, you can open the Messages/Phone app with a pre-defined number to call or a message to send for performing user verification actions.
Take the example of Uber app; you can call the driver by tapping on the Contact button, but there is no way that app can access your phone log and delete the recent numbers from the record - unlike Android devices.
It may be possible by jailbreaking, which on the other hand won't let you put your app on the App Store.

Is there an iOS API for accessing call logs?

I want to access the call log of the device in my application. I have R&D a lot and found some posts here on Stack Overflow as well (for example, this one), but none of them have clear vision whether we can do this.
When I look into these apps:
Truecaller
quickReminder
...it seems that they managed to get the call history in their app and customized it as well.
Any help/feasibility would be appreciated.
It is not possible to extract the call log programmatically.
First of all Apple officially does not expose any public API to access the call log. That means you can hack all you want to access the call log(Using private API's) but when submitting your app to Apple by sure it will be rejected.
Regarding the app you have mentioned(quickRemainder)
It gets the call log using a cvs file or a text file. It is not taking the info via device calllog db.
Extract from their app description.
You can import text or cvs files containing phone calls into this app.
TrueCaller does not get the call log they just use the app to search the contacts and update the contacts with info they got. They are not reading the callogs
Update: Apple has introduced framework called Callkit. Though you cannot access all the call log, you can have some control over calls like
Identifying incoming calls
Blocking calls
etc
https://developer.apple.com/reference/callkit

How to read call duration and phone status on iOS 7?

I understand we cannot extract phone number/ call log from iOS 7. However, how do I give the user a pop-up every time an incoming or outgoing call ends. This pop up will open a form from the App that will already have call duration pre-filled and the user will fill the rest of the call.
I know similar topics exist, but nothing precisely on iOS 7.
That's not possible with current versions of iOS (or iOS 8). I wouldn't expect such a facility becoming available any time soon because it doesn't feel like something Apple would allow.

Exchange data between iOS apps

I know about x-callback-url, and how it's possible to e.g. send a string to an app in iOS.
But is it possible to do this the other way around, e.g is it possible for an iOS app to fetch the song currently playing in Music.app? Can an app fetch a message with a specific caller ID from Messages.app?
I believe, you need to have access to their API/backend to do that. Talking directly to another iOS app is not possible.
No, I'm not a crook ;) I want my app to read the content of an SMS that my gateway has sent, for device authorization.
register a scheme for your app. add a link with that scheme in your sms, with the registration code as uri-path. by clicking that should open your app and you can process the uri.

Resources