ios - 当我的应用收到多个推送通知时会发生什么?

标签 ios cocoa-touch apple-push-notifications

我对 APNs 有疑问。 如果应用程序在当前未运行时收到超过 1 个通知,会发生什么情况。 操作系统是否会一一显示警报[如果用户继续关闭警报] 或者如果用户单击任何“查看”操作,它将启动该应用程序,如果是这样,其余的警报呢? 如果应用程序启动,它是否会提供启动应用程序的通知对象,或者我们可以访问队列中的所有通知警报。

如果一个应用程序(未运行)收到超过 1 个通知,请帮我解决这个过程是什么?具有可能的选项(“查看”/“关闭”)

最佳答案

  1. 如果设备在同一时间间隔接收到警报并延迟几毫秒,它将通过声音通知多个警报,甚至您可以看到所有这些警报一个接一个地弹出并消失但最后收到或最新收到的申请只会显示给您,以便您查看申请或关闭申请。

  2. 如果应用程序正在运行或通过单击警报 View 按钮启动,那么要查看其余警报,您必须在设备本身中处理它。默认情况下,操作系统将简单地忽略应用程序运行时出现的所有这些警报。您必须检查应用程序运行时是否收到警报。

这可以使用 UIApplication 委托(delegate)方法实现:

(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

这个你需要实现。这会在应用程序运行时收到通知。

一旦您实现了上述方法,即使应用程序正在运行,您也会收到每个警报的弹出消息。在这种情况下,它不会启动新的应用程序实例。它只会向您显示弹出警报。即使您单击 View ,它也不会显示任何内容。如果您希望在应用程序运行时单击 View 后完成任何特定工作,您可以创建此新功能并告诉操作系统按您的需要运行。

关于ios - 当我的应用收到多个推送通知时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5788878/

相关文章:

iOS Autolayout 垂直等距填充父 View

android - 有没有办法自动构建 Android 和 iOS 应用程序并发布到 Google Play 和 App Store?

objective-c - animateWithDuration 不起作用

ios - 从 UIColors 或 NSColors 数组创建 CGColors 数组

ios - 如何使用解析服务器通知设置 APNS 折叠 ID?

ios - Realm 反向关系返回具有 nil 属性的对象

ios - 如何通过命令行参数设置 NSDictionary 用户默认值?

objective-c - 如何在 iOS 10 应用程序中向我的推送通知添加媒体附件?

swift - .Element 含糊不清地使用 Element SWXMLHash swift

html - 我如何防止 iOS 上的 safari 将三 Angular 形替换为 iOS UI?