如果应用程序从后台

时间:2017-08-26 05:40:31

标签: ios push-notification voip callkit pushkit

我正在使用PKPushkit进行voip通知。

如果我的应用程序被从后台杀死,那么我无法收到内部通知:

func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, forType type: PKPushType)

如果应用程序在后台,则通知正在运行。我已从项目本身启用了以下设置。

1)内部功能,推送通知已开启。

2)背景模式开启:

一个。应用程序使用AirPlay播放音频或流音频/视频。

湾应用程序从网络下载内容。

℃。应用程序下载内容以响应推送通知。

d。 App提供IP语音服务。

任何人都可以帮我找出我失踪的地方吗?

2 个答案:

答案 0 :(得分:1)

当应用程序处于被杀死状态时,您的应用程序可能会崩溃。

检查如何在被杀死状态下调试应用程序。

enter image description here

https://github.com/hasyapanchasara/PushKit_SilentPushNotification

答案 1 :(得分:0)

在iOS 13上,应改为调用新的pushkit委托方法:

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

它与原型末尾的完成处理程序的先前版本(现已弃用)不同。

如果没有调用完成处理程序,则会在后台或强制退出状态下禁止您的应用程序接收推送通知。当应用程序处于前台时,它仍然可以工作。