You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS CallKit中CXCallEndedReason在reportCall方法的使用及疑问

关于iOS CallKit中reportCall(with:endedAt:reason:)的CXCallEndedReason使用说明

一、CXCallEndedReason的正确使用方式

针对振铃状态下无用户直接交互结束的VoIP通话,你需要根据实际场景匹配对应的结束原因:

  • failed:通话建立环节出问题(比如网络中断、服务端连接失败)
  • remoteEnded:通话被对方主动挂断
  • unanswered:来电超时,用户未接听
  • answeredElsewhere:该通话在用户的其他Apple设备上被接听
  • declinedElsewhere:该通话在用户的其他Apple设备上被拒接

二、关于参数必要性的疑问解答

  1. 系统是否会调用这个参数?
    不会,这个参数是你主动上报给系统的,系统不会反向调用它。

  2. 没有UI反馈能不能忽略?
    绝对不能忽略。虽然没有直接的前端UI展示,但系统会用这个参数做后台层面的关键处理:

  • 更新系统自带的通话记录
  • 同步用户多Apple设备间的通话状态
  • 辅助CallKit优化通话调度逻辑
    忽略这个参数可能导致系统通话记录异常、多设备状态不同步,甚至触发CallKit的合规校验,影响你的VoIP功能稳定性。

内容的提问来源于stack exchange,提问作者Nirav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 20:22:01