代号一个iOS远程通知

问题描述

过去两个星期,我们一直在努力寻求一种可靠的解决方案,以尝试将我们的应用程序数据与后台服务器同步。我们已经尝试了Background fetch机制,但是由于iOS对其运行时间的限制,因此它不是可行的解决方案。

iOS确实提供了我们要使用的远程通知https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app?language=objc),因为我们可以在Android上使用相同的机制。

问题在于,当发送类型2通知时,CN1仅在用户将应用程序置于前台时才传递通知

在Android上,我看到有android.background_push_handling的构建提示,即使该通知处于后台,该通知也可以发送到该应用。

是否有类似的构建提示可用于iOS?

如果没有,那么有没有办法重写application:didReceiveRemoteNotification:fetchCompletionHandler:在Notification到达时触发的方法,以便我们可以将其转发到我们的应用?

解决方法

您可以为此使用静默推送通知。要发送静默推送通知,您只需在通知正文中包含bellman_ford_path()。此处的更多信息:Apple docs-silent push notifications

请记住,这仅在您的应用程序在后台运行时有效,而在应用程序被终止时将不起作用。当该应用被终止时,唯一的解决方案是标准的推送通知,除非您的应用具有VoIP功能,在这种情况下,您可以使用PushKit框架(如果在不具有VoIP功能的应用中使用它,则您将无法通过AppStore )。