跳转到主要内容
Swift SDK 对外抛出的错误类型是 SRTCError,一个带语义的 Swift 枚举,同时提供跨端统一的整数错误码:
  • 用 switch 按 case 分支处理
  • 用 error.code 拿到完整错误码,error.baseCode 拿到低 3 位语义码
  • 用 error.message 拿到英文描述;error.localizedDescription 输出 "<code>: <message>"
自 1.5.0 起错误码按跨端统一码表重排、报错文案改为英文。1.4.7 及以前的旧码与新码的对照见 更新日志。

错误码规则

SRTCError.code 返回的是完整错误码:
  • SDK 自身的错误:平台前缀 + 3 位低位码。iOS 前缀 103,macOS 前缀 105,如 iOS 无摄像头权限为 103231
  • 后端业务错误(码 1000–99999):原样透传,不加前缀
  • HTTP 状态码不会拼进错误码:HTTP 非 200、网络失败一律为 006,HTTP 状态只在 apiRequestFailed 的 statusCode 与描述里
baseCode 是低 3 位语义码,与 Web / Android / 鸿蒙等端同义,适合做跨端统一的提示映射;后端业务码的 baseCode 返回自身。 SRTCError 实现了 CustomNSError:桥接成 NSError 后 domain = "cn.seastart.srtc"、code 为完整码,有系统原始错误时(如 screenShareDenied)放在 NSUnderlyingErrorKey。ObjC / uni-app / Flutter 等走 NSError 的集成方可直接按码判断。

报错语言

  • message / localizedDescription 一律英文,给开发者和日志看;给终端用户的提示请按 code / baseCode 自行映射,不要直接展示 message
  • SRTCEngine.language(如 "en"、"zh-CN",nil 跟随系统语言)决定请求后端时的 Accept-Language 头,后端业务错误(码 1000–99999)的文案随之返回中文或英文;SDK 自身报错不受它影响

连接相关


信令相关


WebRTC / 传输相关


轨道与采集相关


引擎与通用错误


虚拟背景相关

用法见 虚拟背景。

推荐的错误处理方式

SRTCError 以库演进模式分发,后续版本可能新增 case,switch 里请保留 default 分支。