我目前正在开发一个警报应用程序,并且我正在实现一个智能警报功能,我必须从服务器获取数据以确定是否是唤醒用户的正确时间。
比方说,情况是:
闹钟设置为上午 06:30
智能警报功能设置为 06:30 前 30 分钟,从早上 6:00 到早上 06:25,数据提取将发生 5 次,间隔 5 分钟
- 如果,比方说,在上午 06:15,服务器返回了唤醒用户所需的数据,则所有计划的任务都将立即取消
- 当前时间是晚上 11:30
- 晚上 11:30 至早上 06:00 期间不会执行智能警报的任务
您可以使用推送通知/静默推送通知来完成此任务。请注意,用户必须选择加入推送通知才能使用。以下是如何实现它的概述
请详细阅读:推送通知、静默推送通知和后台任务处理程序。
Background Fetch API:在 iOS 7 中,Apple 增加了对 background fetch 的支持——一种智能的、每个应用程序的 crontab,它在机会时唤醒。没有办法强制后台提取以精确的时间间隔执行。iOS 在安排未来的回调时会检查在之前的后台获取期间使用了多少数据和电池电量。添加支持涉及编辑应用程序的属性列表(请参阅 UIBackgroundModes)并在应用程序生命周期的早期设置获取间隔