处理远程推送通知

3
我正在阅读苹果开发者指南上有关处理远程通知的内容。我有两个问题: 短语“当应用程序不在前台运行时,通知会被传递”这句话的解释是什么?
“不在前台运行”是否包括后台状态和未运行状态?根据解释,下面这句话:
当iOS设备上的应用图标被点击时,应用程序调用相同的方法,但不提供关于通知的任何信息。
意思有所不同。
第二个问题涉及连续收到两个远程通知的情况:当我打开应用程序时,在方法application:didFinishLaunchingWithOptions:或application:didReceiveRemoteNotification:中,我能获得所有通知的信息还是只有最后一个通知的信息?
1个回答

6
  • 如果您的应用程序正在运行,无论是在后台挂起状态还是前台,收到通知时调用的方法将始终是application:didReceiveRemoteNotification:
  • 如果您的应用程序完全未运行,在接收到通知后启动,它将触发application:didFinishLaunchingWithOptions:,选项将是包含有关远程通知的信息的非空对象。
  • 据我所知,只有最后一个通知信息是可用的。

第一次回复:如果我点击应用程序图标呢?我已经阅读了所有文档,但没有提到如果您收到多个通知会发生什么。 - LuckyStarr
1
是的,如果您点击应用程序图标或系统通知UI中的通知,则会触发相同的情况。至于第二个评论,正如我在回复中所说,据我所知,即使您收到多个通知,只有最后一个通知的信息可用。不过这一点我并不100%确定。 - Vlad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接