我尝试过很多使用 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 匹配的答案。
通过简单的搜索,您可以在 Apple 的文档中找到所有错误代码及其含义:https://developer.apple.com/documentation/callkit/cxerrorcoderequesttransactionerror/code https://developer.apple.com/documentation/callkit/cxerrorcoderequesttransactionerror/code
在枚举中,code=2 意味着unknownCallProvider
是您收到的错误。描述称“控制器找不到调用提供者来执行请求的事务中的操作。”
在这里,它明确指出您尚未设置提供程序(CXProvider
)。这就是它给出这个错误的原因。
对于 CallKit,您想要发送到系统的任何操作或事务都是通过CXCallController
您正在使用的,系统将通过 CXProvider 的对象(基于您所做的配置)及其委托给出确认/操作。
现在,如果您还没有设置提供者及其委托,系统如何与您通信?这就是它给出这个错误的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)