这是一个非常棘手的情况:我正在迅速编写一个警报应用程序。在发出警报时,应用程序很可能处于后台或被杀死,甚至更糟糕的是iPhone被锁定。一旦发出警报,应用程序应在后台自动设置另一个通知。只有当应用程序位于前台时,我才能在AppDelegate中执行此操作,但在后台,我只能设置具有良好附件和声音的通知,但不会执行任何代码。在使用锁定设备的后台收到本地通知后,我无法调用方法。 非常感谢帮助。我不确定是否有解决方案。非常感谢你。
答案 0 :(得分:2)
阅读didReceiveRemoteNotification它表示如果您的应用在前台或后台运行,则会调用此方法。
您可能会觉得有用的是
此外,如果您启用了远程通知后台模式, 系统启动您的应用程序(或从暂停状态唤醒它) 并在远程通知时将其置于后台状态 到达。但是,如果,系统不会自动启动您的应用程序 用户强制退出它。在这种情况下,用户必须重新启动 您的应用程序或在系统尝试启动之前重新启动设备 你的应用程序会再次自动。
所以,我认为你不能解决已杀死的场景。但是启用后台模式后,您至少可以将应用程序从暂停模式中唤醒。
阅读Apple的Background Execution文章,尤其是了解您的应用程序何时启动到后台部分。它说背景执行的时间是
推送通知到达应用程序,通知的有效内容包含值为1的内容可用密钥。
你可以在这里做一些或大部分你想做的事。