我知道我之前曾问过的问题,但我找不到完整的答案。
我的问题是:我想创建小计时器应用程序,从20分钟(用户首选项)倒计时到0.用户可以看到剩余的时间。当计时器用完时,它应播放声音文件三次。 我已经使用NSTimer创建了一个应用程序。唯一的问题是,几分钟后,iPhone进入睡眠模式,应用程序停止。当我叫醒手机时,手机进入睡眠状态时倒计时已经停止。
我知道这个问题存在一些解决方案。
UILocalNotification
。但据我所知,这种方法只能播放一次声音文件,因此不够用。 但除此之外,我应该:
UILocalNotification
代替NSTimer
(完全退出NSTimer
)?UILocalNotification
(然后在用户唤醒手机时切换回NSTimer
)? 答案 0 :(得分:3)
选择第二个选项。在应用程序打开时使用NSTimer
。当应用程序成为后台时,使任何计时器无效并安装具有适当开火日期的UILocalNotification
实例。
当应用程序返回时,请阅读待处理的本地通知,启动相关开火日期的计时器并取消本地通知。
创建一个声音文件,其中包含3次播放的“单一声音”。
P.S。 UILocalNotification
不在后台运行。本地通知在iOS上注册为事件,当发布日期时,iOS会采取相关操作。