我已经尝试了许多使用 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-推荐答案 strong>
通过简单的搜索,您可以在此处的 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/
|