在iPhone中闹钟应用中的闹钟响铃?

时间:2013-04-11 04:39:46

标签: iphone ios uilocalnotification mpmediaitemcollection

我一直致力于闹钟应用程序并使用本地通知来弹出警报。 我还需要根据用户在用户设置中设置的时间间隔来暂停闹钟。

在应用程序启动之前,用户不能再打盹,即调用下面提到的方法。

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

因为我正在通过在被激活时添加时间间隔并重新安排本地通知来调用闹铃来暂停闹钟。

问题是应用程序出现在前台,根据Apple的HIG,我不应该终止应用程序或自动将应用程序发送到后台,因此用户需要按主页按钮才能在后台发送应用程序。

最近,我遇到了this app。它可以按照我想要的方式打盹。

还有一个问题是我可以在this app中选择要从我的音乐库播放的声音。

知道这个应用程序是如何设法的吗?

1 个答案:

答案 0 :(得分:0)

为了做你想做的事,有几件事需要考虑。您使用UILocalNotification的方法是正确的,这是一个良好的开端。

为了正确实现'贪睡'功能,您需要考虑在前台和后台运行的应用。

  • 如果应用程序位于前台(或者用户从外部通知横幅打开应用程序),则会调用application:didReceieveLocalNotification:,您只需更新UI以显示暂停按钮并安排新的本地通知从NSUserDefaults加载的持续时间。
  • 如果应用程序在后台并且用户关闭了通知,则无法随后尝试“暂停”警报。

至于从iTunes资料库播放自定义声音,请查看UILocalNotification上的soundName媒体资源