当设备被锁定时,CallKit不显示传入的UI

时间:2018-04-23 13:28:50

标签: ios iphone swift callkit

我正在开发一个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!

2 个答案:

答案 0 :(得分:0)

DND是问题,因为@AntonioM在评论中建议,关闭它可以正常工作。

答案 1 :(得分:0)

您是否设置了info.plist?所需的背景模式 - > ' App提供IP语音服务'请求。