我正在开发一款适用于免提BLE设备的应用程序,用于更改音乐和接听电话。我正在阅读的所有内容都说无法完成,但我想问一下,看看CallKit现在是否有变化。
我可以使用CXCallObserverDelegate查看呼叫事件,但无法使用CXAnswerCallAction接听电话。
这是我目前的代码,我正在使用延迟进行测试。最终,该动作将由BLE设备的动作触发:
self.currentCallUUID = call.uuid
if let callUUID = self.currentCallUUID
{
let answerAction: CXAnswerCallAction = CXAnswerCallAction(call: callUUID)
let transaction: CXTransaction = CXTransaction(action: answerAction)
let when = DispatchTime.now() + 2
DispatchQueue.main.asyncAfter(deadline: when) {
print("answering call")
self.callController.request(transaction, completion: { error in
if (error != nil)
{
print("did answer")
answerAction.fulfill()
}
else
{
print("answer failed: \(String(describing: error?.localizedDescription))")
}
})
}
}