phonegap / phonegap-plugin-push

Register and receive push notifications
MIT License
1.94k stars 1.92k forks source link

VOIP with CallKit crashes app #2842

Open bpowell15 opened 4 years ago

bpowell15 commented 4 years ago

Expected Behaviour

When using VOIP notifications in combination with CallKit and the app is in the background, the notification should be received and allow for the Call Ui to be displayed.

Actual Behaviour

The app crashes due to Apps receving VoIP pushes must post an incoming call (via CallKit or IncomingCallNotifications) in the same run loop as pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay.

I am not sure if this is an issue with the push plugin or the corodva-call I am using. I believe that reportNewIncomingCall(with:update:completion:) needs to be called in this piece of code that lives in the push plugin...

- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(NSString *)type { NSLog(@"VoIP Notification received"); self.notificationMessage = payload.dictionaryPayload; [self notificationReceived]; }

but of course i could be wrong.. Considering VOIP notifications can only be used in this way since ios 13, i assume that the VOIP functionality of this plugin is currently broken. Any help is greatly appreciated.

bpowell15 commented 4 years ago

has anyone else experienced this?

Bobisback commented 4 years ago

Any progress on this issue?

BorjutoHub commented 4 years ago

Any update on this? Facing the same problem here!

alsanbarQvadis commented 4 years ago

I´m also having this issue... no idea how to address it. Actually, I´m not sure yet if the issue is in the notification, in the cordova-call plugin, or in this push plugin, but i´m aligned with @bpowell15
I´m getting the same error message in the iOS console shown above. Events in the top of the app, such as "deviceReady" or "onNotification", are never called. It looks like callkit must be invoked sooner than that. Any feddback will be really appreciated. Thanks in advance.