我的应用程序接收VOiP呼叫的pushKit,但当它在前台呼叫有它自己的传入呼叫视图,所以我不想显示callKit每次当应用程序接收到一个新的VOiP,只是当在后台或非活动。但据我所知,pushKit规则说必须在
中显示callKitpushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) {
Logger.debug("didReceiveIncomingPushWith", payload.dictionaryPayload.debugDescription)
否则被APNS封杀
所以当应用程序在前台运行时,可以停用pushKit吗?
我的代码使用:
var voipRegistry = PKPushRegistry(queue: nil)
voipRegistry.delegate = self
voipRegistry.desiredPushTypes = [PKPushType.voIP]
激活pushKit,但看起来PKPushRegistry
没有任何方法来控制它的行为
苹果在处理VOIP呼叫方面所做的改变确实打破了通常处理VOIP呼叫的方式。请参考苹果的官方答案https://developer.apple.com/forums/thread/117939,我相信这将帮助你了解你可以做什么,不可以做VOIP呼叫,VOIP推送通知和CallKit。