iOS中的闹钟应用程序

Ami*_*itK 22 iphone ios uilocalnotification

我必须为iPhone创建一个闹钟应用程序,用户可以在其中设置闹钟时间和声音.在这样做时,我使用了UILocalNotification来引发警报.

现在,在UILocalNotification中,首先我们通过选项"关闭"和"查看"获得通知警报.如果用户点击"查看",则我的代表收到application:didReceiveLocalNotification:消息并播放警报声音.

但在系统本机警报应用程序中,我们看不到通知警报; 它只是直接播放警报声.如何让我的应用程序使用此行为?

MyC*_*ner 34

我同意大卫的观点.iOS内置闹钟应用程序获得Apple的特殊处理,在后台播放时声音> 30秒.它似乎使用一些私有API使它在较长时间内发出声音,即使它在后台或关闭时也是如此.这不适用于在Apple之外构建的其他应用程序,所以甚至不要尝试与它竞争.如果您购买App Store中的所有闹钟应用程序(又名:Apple批准)并逐一尝试,您会发现它们在警报的最重要功能中缺少内置警报应用程序:即"Sounding"在很长一段时间内,应用程序处于任何状态(活动,背景或关闭)"

模拟背景警报的最佳选择是使用UILocalNotification 30秒.如果你真的想要唤醒沉重的睡眠者,安排将这些通知中的五个发出六十秒或类似的东西,希望他们会在第五次通知结束前醒来.

请注意,使用此方法,未命中警报的用户在唤醒时会在屏幕上显示5个弹出窗口(如果他们在其中一个警报弹出窗口中醒来,则会减少),因此他们将花费他们早上关闭的第一秒钟那些弹出窗口 - 不是最好的用户体验.

结论:闹钟应用程序仅适用于前台使用.适用于任何州的最佳闹钟应用程序是由Apple制造的内置时钟应用程序.

  • 我很难过发现这一点. (7认同)
  • [iHome + Sleep](https://itunes.apple.com/de/app/ihome+sleep-alarm-clock-app/id346249053?mt=8)曾经有此功能,但在2.9中,他们在评论中将其删除了“为了符合iOS法规要求而进行了更改” ...因此,似乎在技术上可行的情况下,Apple并不希望应用程序使用此功能。耻辱。我会和2.8在一起 (2认同)

Dav*_*d V 6

iOS应用程序无法使用此警报行为.您可以创建本地通知并为其添加声音,但声音长度有限.您无法连续播放声音,例如内置闹钟.

一种选择是重复警报.因此,您的应用程序将发送警报,等待一段时间再发送另一个.您重复指定的次数或直到用户与您的应用互动.我不认为这会提供出色的用户体验,所以我不推荐它.


Shu*_*ank 3

我非常确定您可以拥有自己的自定义本地通知声音。

示例代码 localNotif.soundName = @"alarmsound.caf";

请注意,本地通知声音的播放时间必须仅为 30 秒或更短。您可以在这里获取更多信息