如何解决使用Quickblox和CallKit在iOS 13中出现视频通话问题
结果:视频通话在iOS 12之前可以正常工作,但在iOS 13上只有问题。
- https://docs.quickblox.com/docs/ios-quick-start?_ga=2.195456812.1462473955.1597308006-918905754.1585299886
- https://docs.quickblox.com/docs/ios-video-calling-advanced
- https://github.com/QuickBlox/quickblox-ios-sdk/tree/master/sample-videochat-webrtc-swift
- https://github.com/twilio/voice-quickstart-ios/issues/275
此外,我已经在QuickBlox的GitHub存储库中发布了问题:
- https://github.com/QuickBlox/quickblox-ios-sdk/issues/1199
- 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
解决方法
该应用似乎正确接收了voip通知,但未使用CallKit registerCall函数处理它,因为它是用docs和crashlog编写的,必须立即在同一运行循环中发生,您可以理解为相同的线程,因此请确保已通过这种方式实现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。