如何安排无需用户干预即可唤醒 iOS 应用程序的警报

Posted

技术标签:

【中文标题】如何安排无需用户干预即可唤醒 iOS 应用程序的警报【英文标题】:How to schedule an alert which wakes up iOS app without user intervention 【发布时间】:2016-12-26 17:36:50 【问题描述】:

我的目标:在我的音乐播放器中实现睡眠功能。如果用户选择说 30 分钟的睡眠时间,则应用应唤醒并停止当前播放的音乐。

问题:手机锁定后[self performSelector:@selector (onTimer_sleep) withObject:nil afterDelay:sleepIntervalInSeconds];不起作用;

我的尝试:使用UILocalNotification。但是,这仅在系统传递通知时应用最重要且可见的情况下才有效。

您会为我的用例推荐什么?我应该实现后台模式吗?您会建议哪种 bg 模式“后台获取”?

【问题讨论】:

【参考方案1】:

简短的回答:你不能。 Apple 严格限制允许在后台运行的应用程序。

如果您的应用是支持从后台播放的音乐播放应用,那么您就大功告成了。这是允许在后台运行超过几分钟的一小部分应用程序之一。在您的应用中播放音乐时,您仍应获得后台时间。

如您所见,本地通知只有在用户点击它们或应用在前台运行时才会传递。

您可以设置一个服务器来发送静默推送通知,但这需要网络连接,并且推送通知的时间不能非常精确。

【讨论】:

NSBackgroundActivityScheduler 做类似的事情。但它仅适用于 macOS。 @RoHaN,ios 在后台活动方面受到严重的限制,而 MacOS 则没有。

以上是关于如何安排无需用户干预即可唤醒 iOS 应用程序的警报的主要内容,如果未能解决你的问题,请参考以下文章

Js/jQuery 无需用户干预即可播放短声音

如何让用户选中一个框以授予权限,而不是用户在 React-Native 中的警报上单击确定?

附近设备中的应用程序通信,无需用户干预

Google 无需我的干预即可创建存储桶

在 iOS 应用中无需征求用户许可即可检索哪些其他信息

有关为 iOS 6.0 及更高版本安排睡眠/唤醒设备的信息在哪里?