gpt4 book ai didi

iphone - iOS 开发 : Push notifications prevent my local notifications from firing

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:28 26 4
gpt4 key购买 nike

我有一个闹钟应用程序,该应用程序设计为在前台运行时以特定方式运行,并且它会收到由我的应用程序安排的本地通知。当用户设置闹钟时,我的应用会创建一个本地通知。当该本地通知触发时,它会调用 didReceiveLocalNotification 方法来提醒用户。问题是,如果我的应用程序在前台运行并且推送通知来自另一个应用程序,那么它会显示模态推送通知 View ,这会阻止我的应用程序在本地通知触发时提醒用户。一旦我关闭推送通知模态视图,我的应用程序就会触发本地通知。有没有解决的办法?我之所以问,是因为如果我的应用程序在用户安排它触发时没有触发警报,那么它就有点违背了设置警报的全部目的。

非常感谢您的智慧!

最佳答案

应用程序有 5 种不同的状态:

  • 前台活跃
  • 前台不活跃
  • 后台运行
  • 背景暂停
  • 不运行

当您启动您的应用程序时,它处于“前台事件”状态,然后,当显示模态推送通知时,您的应用程序将进入“前台不活动”状态。

Apple 在文档中说 (http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html):

如果它在应用程序未在前台处于事件状态时传送它,它会显示警报、标记应用程序图标或播放声音——无论在 UILocalNotification 对象中指定什么。如果应用程序在前台运行,则没有警报、标记或声音;相反,如果委托(delegate)实现了 application:didReceiveLocalNotification: 方法,则会调用它。

因此在前台,application:didReceiveLocalNotification: 仅在您的应用程序处于事件状态时才会被调用,并且在您关闭模态通知时它会变为事件状态。

这是临界点,没有针对这种情况的解决方案。

关于iphone - iOS 开发 : Push notifications prevent my local notifications from firing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4739990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com