基于各种来源,我实现了如下的CallKit,但我的应用程序没有拨号。有什么想法吗?没有任何错误报告。
这是我所拥有的:
let provider = CXProvider(configuration: CXProviderConfiguration(localizedName: "My App"))
provider.setDelegate(self, queue: nil)
let controller = CXCallController()
let transaction = CXTransaction(action: CXStartCallAction(call: UUID(), handle: CXHandle(type: .phoneNumber, value: "5555555555")))
self.controller.request(self.transaction, completion: { error in
if (error != nil) {
print(error)
}
我的分机:
extension ViewController : CXProviderDelegate {
func providerDidReset(_ provider: CXProvider) {
}
func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) {
action.fulfill()
}
func provider(_ provider: CXProvider, perform action: CXEndCallAction) {
action.fulfill()
}
}
当您进行CXStartCallAction
事务并且它没有失败时,CallKit框架将调用以下CXProviderDelegate
函数:
func provider(_ provider: CXProvider, perform action: CXStartCallAction)
{
action.fullfill()
}
因此,如果您实现了这个方法,那么只要您调用action.fullfill()
,传出呼叫就会立即启动。