CallKit启动通话后触发CXEndCallAction致Simulator挂断问题求助
iOS模拟器CallKit通话自动挂断问题求助
我使用Xcode 15.3(版本号15E204a)搭配不同版本的iOS模拟器运行时(17.x、16.x、15.0)测试应用,应用在真机上发起、接听通话均正常,但近期更新后在模拟器出现异常:启动通话约2秒后会自动挂断。
控制台日志显示CallKit调用了CXEndCallAction,调用前的可疑日志如下:
callservicesd Disconnecting call because there wont be a UI to host the call: <CSDProviderCall 0x107054300 type=PhoneNumber, value=sdsddsdds, stat=Sending tStat=0, model=<TUCallModel 0x103f661e0 hold=1 grp=1 ungrp=1> ...
从日志分析可知CXStartCallAction已被调用并完成。我尝试过以下方案但均无效果:
- 启用项目VoIP设置(此前无需该设置即可正常运行)
- 尝试延迟操作、在不同线程分发任务
- 在项目Info.plist中添加VoIP后台模式,配置代码如下:
<key>UIBackgroundModes</key> <array> <string>fetch</string> <string>remote-notification</string> <string>audio</string> <string>voip</string> </array>
该问题的表现存在版本差异:iOS 17.x模拟器上必现,16.x上偶尔出现,15.x上从未出现。
请问有没有人遇到过类似问题,或者有修复/规避方案?
内容的提问来源于stack exchange,提问作者ken0
相关产品推荐
相关产品推荐

