VoIP push and CXProvider.isSupported

In the documentation for pushRegistry(_:didReceiveIncomingPushWith:for:completion:), it is mentioned that in iOS 13, apps receiving VoIP pushes must report incoming call with CallKit before the method finishes execution; otherwise the system may stop the app from receiving any more VoIP pushes. However, in iOS 13 there is also a CXProvider.isSupported property which indicates whether CallKit is supported, so it is not possible to report an incoming call with CallKit when CXProvider.isSupported is false. Do we have to avoid using VoIP pushes for clients which have CXProvider.isSupported equal to false? Or will the app not be penalized for using VoIP pushes and not reporting incoming calls to CallKit for clients where CXProvider.isSupported is false?

Accepted Reply

I looked for the property in Xcode 11 beta 6 but can't find it anymore, seems like it's gone ;(

Replies

This likely has been added because of the newly introduced UIKit for Mac 13.0+. My guess is that CXProvider.isSupported will be false on Mac but always true on iOS.

I looked for the property in Xcode 11 beta 6 but can't find it anymore, seems like it's gone ;(