使用 CXEndCallAction 请求事务时出错

Error while requesting a transaction with CXEndCallAction

使用 CXEndCallAction 请求 CXTransaction 时,事务失败并显示错误代码 错误域=com.apple.CallKit.error.requesttransaction 代码=4“(空)”

我能够成功创建 CXStartCallAction。有谁知道这个错误是什么意思?

CallKit 的错误代码在<CallKit/CXError.h> 中定义,在iOS 10 Seed 4 中,域com.apple.CallKit.error.requesttransaction 的错误代码4 定义为:

CXErrorCodeRequestTransactionErrorUnknownCallUUID = 4,

这表示请求的 CXEndCallAction 的调用 UUID 与已知调用不对应。我建议确认 CXEndCallAction 上设置的 UUID 与现有调用匹配。

如果你使用

func reportCall(with UUID: UUID, updated update: CXCallUpdate)

要将 CXStartCallAction 更新为 CXCallUpdate,您必须使用 action.uuid,而不是 action.callUUID

稍后会导致 unknownCallUUID 通话结束时出错。在这种情况下

func provider(_ provider: CXProvider, perform action: CXEndCallAction)

不触发。