OGeek|极客世界-中国程序员成长平台

标题: ios - CallKit 错误 com.apple.CallKit.error.requesttransaction 错误 2 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 21:05
标题: ios - CallKit 错误 com.apple.CallKit.error.requesttransaction 错误 2

我已经尝试了许多使用 CallKit 在 ios swift 上启动拨出电话的示例。我在功能中启用了 VOIP。在所有情况下,它都会失败:

callController.request(transaction) {
    error in
      if let error = error { print("Error requesting transaction: \(error)")}

 else { print("Requested transaction successfully")
            }

我得到的错误:

Error requesting transaction: Error Domain = com.apple.CallKit.error.request transaction Code=2 "(null)"

我找不到与 Code=2 匹配的答案。



Best Answer-推荐答案


通过简单的搜索,您可以在此处的 Apple 文档中找到所有错误代码及其含义:https://developer.apple.com/documentation/callkit/cxerrorcoderequesttransactionerror/code

在枚举中,code=2 表示 unknownCallProvider 是您遇到的错误。描述说“ Controller 找不到调用提供程序来执行请求的事务中的操作。”

这里明确指出你没有设置提供者(CXProvider)。这就是它给出这个错误的原因。

在 CallKit 的情况下,您想要发送到系统的任何操作或事务都是通过您正在使用的 CXCallController 完成的,系统将通过 CXProvider 的对象(基于您所做的配置)及其委托(delegate)。

现在,如果您还没有设置提供者及其委托(delegate),那么系统如何与您通信?这就是它给出这个错误的原因。

关于ios - CallKit 错误 com.apple.CallKit.error.requesttransaction 错误 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53716758/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4