1

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

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

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

当我通过在firedate中添加时间间隔并重新安排本地通知来调用该方法来打盹警报时。

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

最近,我遇到了这个应用程序。它可以按我想要的方式打盹闹钟。

另一个问题是我可以在这个应用程序中从我的音乐库中选择要播放的声音。

知道这个应用程序是如何做到的吗?

4

1 回答 1

0

为了做你正在做的事情,有几件事需要考虑。你的使用方法UILocalNotification是正确的,所以这是一个好的开始。

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

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

至于从 iTunes 库播放自定义声音,请查看UILocalNotificationsoundName上的属性

于 2013-04-11T05:40:34.927 回答