全新安装 Callkit iOS 时启动呼叫事务总是失败

问题描述 投票:0回答:1

我正在将 callkit 用于 voip 应用程序,在每次全新安装时,CallKit startCallAction 请求都会失败并抛出“com.apple.CallKit.error.requesttransaction error 7”。

请在下面找到负责的方法。

func performStartCallAction(handle: String) {
    let uuid = UUID()
    let callHandle = CXHandle(type: .phoneNumber, value: handle)
    let startCallAction = CXStartCallAction(call: uuid, handle: callHandle)
    let startCallTransaction = CXTransaction(action: startCallAction)
    callKitController.request(startCallTransaction) { error in
        if let error = error {
            print("StartCallAction transaction request failed: \(error.localizedDescription)")
            return
        }
        let callUpdate = CXCallUpdate()
        callUpdate.remoteHandle = callHandle
        callUpdate.supportsDTMF = true
        callUpdate.supportsHolding = true
        callUpdate.supportsGrouping = false
        callUpdate.supportsUngrouping = false
        callUpdate.hasVideo = false
        self.callKitProvider.reportCall(with: uuid, updated: callUpdate)
    }
}

在后续运行中,相同的代码可以正常工作。

我不确定我做错了什么,请帮助。短暂性脑缺血发作。

ios swift voip callkit
1个回答
0
投票

在尝试使用 CallKit 在 iOS 中启动呼叫事务时,我在全新安装时遇到了与

com.apple.CallKit.error.requesttransaction error 7
相同的问题。这个问题的根本原因与CXProvider初始化的时机有关。

要解决此问题 - 在应用程序生命周期一开始就初始化 CXProvider

奖励:请记住,CXProvider 必须是您应用程序中的单例 🙇u200d♂️

© www.soinside.com 2019 - 2024. All rights reserved.