how to get the incoming call number by using callkit

3 Solutions Collect From Internet About “how to get the incoming call number by using callkit”

When using CallKit’s Call Blocking & Identification feature (new in iOS 10), phone numbers to be blocked or identified are loaded by your app’s Call Directory extension prior to an incoming call and the phone numbers are stored by the system. Then, when an incoming call arrives, this stored data is consulted by the system and an incoming call may either be blocked or identified in the incoming call UI with the label provided.

For privacy and performance reasons, Call Directory app extensions are not launched when incoming calls arrive and an app extension cannot retrieve the phone number for an incoming call.

The Call Directory extension introduced in iOS 10 works like the Safari Content Blocker Extension that was introduced in iOS 9. Your extension has to supply a list of phone numbers (in safari’s extension, it was a json file), these numbers will be stored by the iOS, and on the event of an incoming call, the system checks the list provided by your extension( same like safari would check the rules specified by the json file before loading a website ), provided, your extension is active at that time.

So, using this feature for creating a Caller ID like app is not possible, because things are not dynamic.
Also there may be a limit on the number of phone numbers you can provide in the list, which hopefully be announced by the iOS 10 release.

The incoming call will likely arrive via a PushKit notification. The incoming call number is part of the payload of that notification; possibly the value of the “handle” key:

 NSString *handleString = payload.dictionaryPayload[@"handle"];