我在使用Firebase推送通知时遇到了麻烦。我目前在iOS 12.3.1上使用物理iPhone,并且设法在应用程序处于前台或后台模式时收到通知。
当它处于前台时,方法didReceiveRemoteNotification
被触发,我可以解析通知内容以将其存储在CoreData中。
另外,它在后台(但未被杀死)didReceiveRemoteNotification
被调用,我也可以解析内容。
当用户从“最近”屏幕中终止该应用程序时,将出现问题。据我所知,应用程序通过调用didReceiveRemoteNotification
方法来处理收到的通知,但只能在前台和后台模式下进行。
当应用程序被杀死时,如果通知正文包含content_available: true
键,则系统可以重新启动它,然后应使用didFinishLaunchingWithOptions
中的通知内容调用launchOptions
方法字典。
应用程序被杀死时,我无法调用didFinishLaunchingWithOptions
。我已经启用了后台获取和远程通知功能。
如果我在收到通知时(也就是在应用被终止时)单击通知,我也可以解析该通知,但是我需要触发didFinishLaunchingWithOptions
来解析该通知并将其存储在应用通知历史中,因为如果用户删除通知而不打开它,它将丢失。
我已经通过官方文档和此站点进行了大量研究,但是我尝试过的任何方法都没有对我起作用。
您知道我缺少什么或做错了吗?
提前谢谢