How to use call directory extension to identify a incoming call in my application?

前端 未结 2 1395
轮回少年
轮回少年 2020-12-01 23:34

I am working on callKit framework, I found that by the use of call directory extension, we can Identify the incoming phone number. My question how to implement a call direct

相关标签:
2条回答
  • 2020-12-01 23:53

    If this question is not how to write a call directory extension, but how to get the number of an incoming call, which I think is what the question is, then its not possible.

    The call directory extension is not involved when there is an incoming call. All it does is register numbers that get stored in an internal SQL database that is private to the phone app. The call directory extension does NOT get run when there is an incoming call and therefore it and your app are not able to identify the number of an incoming call, this is the same as it has always been, it has not changed in iOS 10.

    There is new functionality for call detection for Voip apps that was added in iOS 10, but if you are not a voip app you still cannot obtain the number of an incoming (or outgoing) call.

    0 讨论(0)
  • 2020-12-02 00:05

    Firstly you need to enable your CallBlocker app in App Setting for that follow this -

    Go to Settings->Phone->Call blocking & identification->Enable your App.

    After that use addIdentificationEntry for adding entry

      private func addIdentificationPhoneNumbers(to context: CXCallDirectoryExtensionContext) throws {
    
            let phoneNumbers: [CXCallDirectoryPhoneNumber] = [ 18775555555, +919899999999 ]
            let labels = [ "Telemarketer", "Local business" ]
    
            for (phoneNumber, label) in zip(phoneNumbers, labels) {
                context.addIdentificationEntry(withNextSequentialPhoneNumber: phoneNumber, label: label)
            }
        }
    

    Which is working fine in Xcode 8.x swift 3.x

    0 讨论(0)
提交回复
热议问题