iOS 13在使用Quickblox和CallKit时收到视频通话的问题

3

特性:我已经在应用程序中实现了QuickBlox视频通话。

问题:如果应用程序在后台运行,接收者将无法收到来电通知。

结果:视频通话在iOS 12上运行良好,但在iOS 13上存在问题。

我已经查看了许多链接以解决问题:

  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

此外,我已在QuickBlox的GitHub存储库上发布了问题:

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

问题的崩溃日志:

"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

1
它可以在iOS到所有应用程序状态之间工作,但是当应用程序处于后台或终止状态时,无法从Android到iOS接收电话。您找到了解决方案吗? - Kiran K
@KiranK,你有找到解决方案吗?我也遇到了同样的问题...iOS到iOS可以正常工作,但安卓到iOS就不行了。 - Muhammad Danish Qureshi
1个回答

0

看起来该应用程序已经正确接收了VoIP通知,但是没有使用CallKit registerCall函数进行处理,正如文档和崩溃日志中所写的那样,它必须立即在同一运行循环中发生,您可以将其理解为相同的线程,因此请确保您已经以这种方式实现了它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接