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制造的内置时钟应用程序.
iOS应用程序无法使用此警报行为.您可以创建本地通知并为其添加声音,但声音长度有限.您无法连续播放声音,例如内置闹钟.
一种选择是重复警报.因此,您的应用程序将发送警报,等待一段时间再发送另一个.您重复指定的次数或直到用户与您的应用互动.我不认为这会提供出色的用户体验,所以我不推荐它.