我正在开发一个voip应用程序,它使用Callkit显示系统用户界面来接听来电。
为了测试来电,我从我的应用程序中触发了它,如下所示
let callHandle = CXHandle(type: .phoneNumber, value: "+9197xxxxxxxx")
let callUpdate = CXCallUpdate()
callUpdate.remoteHandle = callHandle
callUpdate.supportsDTMF = true
callUpdate.supportsHolding = true
callUpdate.supportsGrouping = false
callUpdate.supportsUngrouping = false
callUpdate.hasVideo = false
UIApplication.shared.beginBackgroundTask {
print("Error")
}
DispatchQueue.main.asyncAfter(deadline: .now() + 10.0) {
self.callKitProvider.reportNewIncomingCall(with: UUID(), update: callUpdate) { (error) in
print(error)
}
}
当app在前台时工作正常,但是当我将设备置于锁定状态时,它会抛出错误,因为“Error Domain = com.apple.CallKit.error.incomingcall Code = 3”(null)“”
请帮忙。谢谢Adavance!
答案 0 :(得分:0)
DND是问题,因为@AntonioM在评论中建议,关闭它可以正常工作。
答案 1 :(得分:0)
您是否设置了info.plist?所需的背景模式 - > ' App提供IP语音服务'请求。