使用已终止的 IOS 处理通知

Posted

技术标签:

【中文标题】使用已终止的 IOS 处理通知【英文标题】:Handle notifications with app killed IOS 【发布时间】:2017-10-11 10:24:12 【问题描述】:

现在我正在开发一个能够接收通知的应用程序,它运行良好,直到我需要向我的服务器发送应用程序上收到的通知的副本。

虽然我知道这种方法的缺点,但这是我可以处理收到的通知的唯一方法。

现在我可以通过这个方法处理应用在后台和前台收到的通知

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler  

。在此方法中,我调用 NSURLConnection sendAsynchronousRequest 将收到的通知数据发送到我的服务器。

但是当应用程序被杀死(从后台应用程序中消除)时,我不再可以通过这种方法处理通知。

是否有一种方法可以在应用程序被终止时调用,以允许我在收到通知后向我的服务器发出发布请求?

【问题讨论】:

如果您只想知道它是否已发送到设备,您可以使用 APNS 进行操作。不知道如何,但记得 Parse 告诉您希望设备(通过令牌)已收到推送。 【参考方案1】:

我认为除非你打开应用程序,否则没有办法做到这一点......

【讨论】:

我开始有同样的感觉......我知道我的方法不是最好的,但是在 android 上它可以做到这一点,但在 ios 上却不行。我想我必须开始考虑解决问题的其他方法...:/ 是的,不幸的是,这取决于您的要求,如果您只是让服务器知道用户收到通知,您可以创建 API 并在每次启动应用程序时点击它以接收任何更改服务器在推送通知中发送它。

以上是关于使用已终止的 IOS 处理通知的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 在设备设置中,如果我更改时间,即使在应用程序后台、已终止状态下也应该得到通知

当收到 IOS 13 SDK 的通知时,啥是推送工具包的替代方案来处理终止状态

如果应用程序被杀死/运行,ios显示/隐藏通知

应用程序在 iOS 10 上终止,恕不另行通知

用户终止应用通知 (iOS)

如何确保在应用程序终止后*发送 iOS 本地通知