Ios 当应用处于非活动终止状态时,带有CallKit的VOIP通知不会调用reportIncomingCall

Ios 当应用处于非活动终止状态时,带有CallKit的VOIP通知不会调用reportIncomingCall,ios,notifications,voip,callkit,pushkit,Ios,Notifications,Voip,Callkit,Pushkit,这是一个视频通话应用程序。我已经实现了VoIP通知来接收视频通话。收到VoIP通知后,我使用CallKit调用reportNewIncomingCall() 当我最小化应用程序时,我会收到来电,流程正常。 但当我关闭应用程序时,我不会接到来电。知道为什么吗? 我还注意到,当我下次点击并打开应用程序时,它会崩溃: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killin

这是一个视频通话应用程序。我已经实现了VoIP通知来接收视频通话。收到VoIP通知后,我使用CallKit调用
reportNewIncomingCall()

当我最小化应用程序时,我会收到来电,流程正常。 但当我关闭应用程序时,我不会接到来电。知道为什么吗? 我还注意到,当我下次点击并打开应用程序时,它会崩溃:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback.'
这说明我没有发布
reportNewIncomingCall
。但我已经这样做了,当应用程序最小化时,我会接到电话

func pushRegistry(_ registry: PKPushRegistry,
                  didReceiveIncomingPushWith payload: PKPushPayload,
                  for type: PKPushType,
                  completion: @escaping () -> Void) {

    provider.reportNewIncomingCall(with: uuid, update: update) { error in
     
    }
    completion()
}

只有在被杀的州,我才没有接到电话。在被终止状态下,还需要做什么来接收呼叫?请帮助。

您是否尝试调用
reportNewIncomingCall
完成处理程序中的
pushRegistry
完成处理程序

func pushRegistry(_ registry: PKPushRegistry,
                  didReceiveIncomingPushWith payload: PKPushPayload,
                  for type: PKPushType,
                  completion: @escaping () -> Void) {

    provider.reportNewIncomingCall(with: uuid, update: update) { error in
        completion() // <----
    }
}
func pushRegistry(uRegistry:PKPushRegistry,
didReceiveIncomingPushWith payload:PKPushPayload,
对于类型:PKPushType,
完成:@escaping()->Void){
provider.reportNewIncomingCall(带:uuid,update:update){中出现错误

completion()/@BrianChristo为您完成了这项工作?我看到了相同的行为。对于我来说,我发现启用获取后台模式会阻止接收PushKit通知。如图所示