如何安排在没有用户干预的情况下唤醒iOS应用程序的警报

时间:2016-12-26 17:36:50

标签: ios objective-c iphone background-process

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

问题: [self performSelector:@selector (onTimer_sleep) withObject:nil afterDelay:sleepIntervalInSeconds];在手机锁定后无效;

我的尝试:使用UILocalNotification。但是,只有在系统发送通知时应用程序位于最前面并且可见时才会起作用。

您对我的用例有什么建议?我应该实施后台模式吗?你会建议哪种bg模式,"背景提取"?

1 个答案:

答案 0 :(得分:2)

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

如果您的应用是支持从后台播放的音乐播放应用,那么您已经完成了设置。这是允许在后台运行超过几分钟的小应用程序列表之一。在您的应用中播放音乐时,您仍应获得背景时间。

正如您所发现的那样,只有当用户点击它们或者应用程序在前台运行时,才会传递本地通知。

您可以将服务器设置为发送静默推送通知,但这需要网络连接,推送通知无法准确计时。