我做闹钟应用程序。这是我的观点:
已有的工作:
我点击“6:00”,调用我的函数addAlarm ("6:00", "unstable")
。按钮“6:00”以绿色突出显示。时间本身存储在应用程序的数据模型中,此时按钮将在关闭并重新打开应用程序后突出显示。
按钮“8:00”为红色,因为我双击它,调用函数addAlarm ("6:00", "stable")
。信息也记录在数据模型中。
我想要的是什么:
按钮“6:00”的绿色表示警报应在早上6点触发,然后必须停用:按钮再次变为蓝色。我有它的功能removeAlarm(time)
红色按钮“8:00”表示应该每天早上8点触发警报,但之后按钮也应该是红色。
在«警报应该被触发»下,我的意思是以下内容。在设备的屏幕上应该是带有文本«Wake up»的通知,并开始播放曲调。带有曲调的文件有20秒的持续时间,但我想播放曲调3分钟,不断重复20秒的曲调。
即使应用程序最小化,手机处于睡眠模式或设置为“不打扰”,也应触发警报。
我不明白的事情:
嗯,当然,如何做我想要的:-)但是说真的,我不清楚使用什么方法。我设法找到了以下内容。
我可以使用NSTimer在指定时间后拨打一些回叫,但是在最小化申请后10分钟后,计时器停止工作。
我可以而且应该使用UIApplication.sharedApplication().scheduleLocalNotification(notification)来表示通知的外观,但通知的旋律可能不会超过30秒。我也不清楚,因为我将我的函数removeAlarm (time)
称为为单次工作创建的警报,如果用户没有响应通知,例如,将不会唤醒。
我可以使用Background Modes。
一般来说,问题是:
我应该使用什么方法,或者使用什么方法,如何组合它们,以及最适合选择哪个方向?