Running JS code when dead app run into background on iOS


we’re trying to implement VoIP push notifications (with PushKit) using ExpoKit on iOS and some RN plugins for push notifications and CallKit. All works fine (app in foreground, app in background) except for a case in which the app is killed (not running at all) and receives a VoIP push. This special kind of ios push somehow starts the app, without user’s interaction, directly in the background giving it a chance to handle the voip push and e.g. trigger an incoming call screen using CallKit.
It seems that native ios code is triggered (I can debug in -
( **BOOL** )application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
and didReceiveIncomingPushWithPayload) but my JS code (containing handlers for push) doesn’t run, even if placed directly in AppEntry.js.

Can you explain if you can run any JS code in ExpoKit when dead app is started directly in the background? If so, what needs to be changed or where the code should be placed?

I just checked that the aforementioned scenario works fine in plain react native app, i.e. code put in index.js is run even when dead app is awaken with a voip push. So maybe it has something to do with how ExpoKit initializes js code.

Hi! Were you able to figure this out? I am hoping to use VoIP push notifications (with PushKit) using ExpoKit but I’m worried I’ll run into this issue and have to eject as a plain react native app.

Any insight would be greatly appreciated!