设备锁定时,CallKit 未显示传入 UI
CallKit is not showing Incoming UI when Device is Locked
我正在开发一个 voip 应用程序,它使用 Callkit 显示系统 UI 来电。
为了测试来电,我从我的应用程序中触发了它,如下所示
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)
}
}
当应用程序处于前台时它工作正常,但是当我将设备置于锁定状态时它会抛出错误 "Error Domain=com.apple.CallKit.error.incomingcall Code=3 "(null)""
请帮忙。提前致谢!
DND 是@AntonioM 在评论中建议的问题,关闭它可以正常工作。
你设置info.plist了吗?所需的后台模式 -> 'App provides Voice over IP services' 请求。
我正在开发一个 voip 应用程序,它使用 Callkit 显示系统 UI 来电。
为了测试来电,我从我的应用程序中触发了它,如下所示
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)
}
}
当应用程序处于前台时它工作正常,但是当我将设备置于锁定状态时它会抛出错误 "Error Domain=com.apple.CallKit.error.incomingcall Code=3 "(null)""
请帮忙。提前致谢!
DND 是@AntonioM 在评论中建议的问题,关闭它可以正常工作。
你设置info.plist了吗?所需的后台模式 -> 'App provides Voice over IP services' 请求。