ios - 保存未打开的推送通知

标签 ios apple-push-notifications

我正在实现didReceiveRemoteNotification。我还将这些通知保存在本地。但是我注意到,如果我在主屏幕上并且没有打开通知,则此函数将永远不会被调用,并且无法保存通知。有任何想法吗?

最佳答案

您必须实现application:didReceiveRemoteNotification:fetchCompletionHandler:而不是application:didReceiveRemoteNotification:。参见official documentation here:

使用此方法可以为您的应用处理传入的远程通知。
与application:didReceiveRemoteNotification:方法不同,该方法是
仅当您的应用在前台运行时才调用
当您的应用在前台运行时调用此方法,或者
背景。此外,如果您启用了远程通知
后台模式,系统将启动您的应用程序(或将其从
暂停状态),并在远程状态下将其置于后台状态
通知到达。但是,系统不会自动
如果用户强行退出了您的应用,请启动它。在这种情况下,
用户必须在系统启动前重新启动您的应用程序或重新启动设备
尝试再次自动启动您的应用。

还要确保启用“远程通知后台模式”,如文档中所述。编辑Info.plist并选中“启用后台模式”和“远程通知”复选框:

关于ios - 保存未打开的推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32076414/

相关文章:

ios - 多个 MDM 服务器、多个 APNs 证书?

ios - 如果应用程序未运行(解析),则保存来自 ios 推送通知的数据

ios - 如何使用 Swift 解决 Firebase 中的异步问题?

objective-c - 在加载主应用程序 View 之前获取一些设备信息

iphone - 在我的应用程序中显示页面的实际 URL 时出现问题

ios - iPhone AVAudioPlayer 应用程序在第一次播放时卡住

ios - 如何通过核心数据中的属性名称访问实体字段

apple-push-notifications - ECDsa在Linux上登录.Net Core

ios - 打开应用程序时检索 APNS 的通知

xamarin.ios - 单点触控推送通知