Problem with PushKit/CallKit on iOS 15.8.x when iOS SDK 17.x is used

I am facing a strange problem with PushKit/CallKit when compiling with SDK 17.x. The app behaves normally on iOS 16 and iOS 17 devices but PushKit does not seem to work properly anymore with VoIP Push messages.

The behavior is as follows:

  • when the screen is unlocked, everything works as expected (app gets automatically started when not running and the call notification is displayed)

  • when the screen is locked and the app is already running, everything works as expected (CallKit call screen is shown)

  • when the app is not running and the screen is locked, nothing happens... but as soon as I unlock the screen the app gets started and CallKit can be informed about the call. After this the call notification is properly displayed. In the logs of the app I can see that the app didn't get started/informed about the VoIP Push notification before unlocking the screen

Now the second problem is: as iOS doesn't start the app properly when the screen is locked, the app can't display the call via CallKit. Because of that the app will get blacklisted after a while (and for a while). Before using iOS SDK 17 the app was working without any issues on iOS 15 devices. Is this a known issue?

  • Incomplete sentence: does not seem to work properly anymore with VoIP Push messages on iOS 15.8

  • Additional info: the issue only seems to happen when the screen is off/black (iPhone 7 and iPhone SE) and not when it is locked but on

  • Update: while the phone is connected to the power adapter, the problem does not exist... So something in iOS 15.8 prevents the VoIP app from being loaded completely while the screen is off and the phone is not connected to the power adapter.

    According to the logs the code is stuck till the screen is turned on while executing applicationDidFinishLaunchingWithOptions (it goes further than our PushKit and CallKit initialization, but stops executing before delivering the VoIP Push notification).

Add a Comment