iOS Callkit: CXProvider resets immediately after starting

In my case the same issue was due to missing VOIP background mode in Info.plist file

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
    <string>voip</string>
</array>

XCode 9 doesn't allow to set this background mode using the Capabilities tab for some unknown reason.


Make sure you're calling reportNewIncomingCallWithUUID:update:completion with a valid, nonnull, UUID. Apple's current implementation calls completion with no error but no call screen is shown