使用CXStartCallAction请求事务时出错

时间:2018-04-07 13:16:09

标签: ios swift swift4 callkit

我使用CallKit,在运行时拨出呼叫我也调用此函数

private func startCall(handle: String, video: Bool = false, uuid: UUID) {
        let handle = CXHandle(type: .phoneNumber, value: handle)
        let startCallAction = CXStartCallAction(call: uuid, handle: handle)
        startCallAction.isVideo = video

        let transaction = CXTransaction()
        transaction.addAction(startCallAction)

        requestTransaction(transaction)
    }

    private func requestTransaction(_ transaction: CXTransaction, completion: ((_ error: Error?) -> Void)? = nil) {
        callController.request(transaction) { error in
            if let error = error {
                debugPrint("Error requesting transaction", error.localizedDescription, transaction.actions)
            } else {
                debugPrint("Requested transaction successfully")
            }
            completion?(error)
        }
    }

但是在交易请求期间我收到错误。

请求交易错误" "操作无法完成。 (com.apple.CallKit.error.requesttransaction错误2。)

我该如何解决?

更新:当设备收到来电时,所有交易都会毫无错误地执行。

1 个答案:

答案 0 :(得分:0)

这是我的错误,因为我没有初始化ProviderDelegate,在初始化之后一切正常。