简体   繁体   中英

Incoming video call issue in iOS 13 using Quickblox and CallKit

Feature: I have implemented QuickBlox video calling in application.

Problem: Recipient doesn't receive incoming call notification if application is in background.

Result: Video calling is working fine up to iOS 12 but only problem with iOS 13.

I have checked many links to solve the problem:

  1. https://docs.quickblox.com/docs/ios-quick-start?_ga=2.195456812.1462473955.1597308006-918905754.1585299886
  2. https://docs.quickblox.com/docs/ios-video-calling-advanced
  3. https://github.com/QuickBlox/quickblox-ios-sdk/tree/master/sample-videochat-webrtc-swift
  4. https://github.com/twilio/voice-quickstart-ios/issues/275

Also, I have posted issues on QuickBlox's GitHub repo:

  1. https://github.com/QuickBlox/quickblox-ios-sdk/issues/1199
  2. https://github.com/QuickBlox/q-municate-ios/issues/345

Crashlog of the issue:

"didReceiveIncomingPushWith called"
"[HomeVC] timeIntervalSinceStartCall > QBRTCConfig.answerTimeInterval"
2020-06-23 22:51:12.114253+0530 MyApp[2555:1050373] 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.
2020-06-23 22:51:12.114529+0530 MyApp[2555:1050373] *** Assertion failure in -[PKPushRegistry _terminateAppIfThereAreUnhandledVoIPPushes], /BuildRoot/Library/Caches/com.apple.xbs/Sources/PushKit/PushKit-36/PKPushRegistry.m:343
2020-06-23 22:51:12.127602+0530 MyApp[2555:1050373] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback.'
*** First throw call stack:
(0x1b7c3498c 0x1b795d0a4 0x1b7b36d1c 0x1b7f6c8f4 0x1cb735a5c 0x10b82ac04 0x10b839888 0x1cb7349cc 0x10b829828 0x10b82ac04 0x10b838c64 0x1b7bb23c4 0x1b7bad3b8 0x1b7bac8bc 0x1c1a18328 0x1bbc426d4 0x10520ac58 0x1b7a37460)
libc++abi.dylib: terminating with uncaught exception of type NSException
Message from debugger: Terminated due to signal 9

It looks like that app is receiving the voip notification properly, but is not handling it with a CallKit registerCall function, as it is written in docs and in crashlog it must happen immediately on the same run loop, which You can understand as the same thread, so make sure You have it implemented this way.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM