斯威夫特/CallKit。是不是可以通过自定义 UI 通知 CallKit 接受来电?
Posted
技术标签:
【中文标题】斯威夫特/CallKit。是不是可以通过自定义 UI 通知 CallKit 接受来电?【英文标题】:Swift/CallKit. Is it possible to notify CallKit about accepting incoming call by custom UI?斯威夫特/CallKit。是否可以通过自定义 UI 通知 CallKit 接受来电? 【发布时间】:2021-01-07 12:42:58 【问题描述】:我需要通过点击自定义 UI 按钮来接听电话。
从原生推送调用屏幕系统通过CXProviderDelegate
方法通知
func provider(_ provider: CXProvider, perform action: CXAnswerCallAction)
但是如何通过自定义 UI 通知 CallKit?
例如我可以通过方法通知 CallKit 结束通话
reportCall(with UUID: UUID, endedAt dateEnded: Date?, reason endedReason: CXCallEndedReason)
【问题讨论】:
如果您想使用内联格式,请将代码用反引号like this
括起来,以便其格式正确。
@AlBlue 谢谢。这是我关于***的第一个问题:)
【参考方案1】:
如果您仍然需要知道如何从自定义 UI 手动通知操作,您可以在下面找到解决方案。
无论如何,把它放在这里以供将来参考。
let answerAction: CXAnswerCallAction = CXAnswerCallAction(call: incomingCallUUID)
let transaction: CXTransaction = CXTransaction(action: answerAction)
callController.request(transaction) error in
if let error = error
NSLog("Error!!!")
else
NSLog("Success")
注意:callController类型是CXCallController
,incomingCallUUID是你的CXProvider在reportNewIncomingCall(with:)
上报的来电UUID
【讨论】:
以上是关于斯威夫特/CallKit。是不是可以通过自定义 UI 通知 CallKit 接受来电?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有调用者 UUID 的情况下从自定义 UI 结束 CallKit 调用?
如果 TableViewCell 有大量数据要显示,则在 UITableViewCell 中添加自定义按钮的最佳方法。使用斯威夫特