如何安排无需用户干预即可唤醒 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 应用程序的警报的主要内容,如果未能解决你的问题,请参考以下文章