我从 App Store 下载了一些闹钟应用程序,发现它们能够继续播放声音,甚至让手机振动超过 30 秒(来自 UILocalNotifications 的限制)我什至强制关闭应用程序,它仍然可以工作!
我想知道这怎么可能?除了 UILocalNotification 还有其他方法吗?他们是否使用多个通知?
谢谢!
我从 App Store 下载了一些闹钟应用程序,发现它们能够继续播放声音,甚至让手机振动超过 30 秒(来自 UILocalNotifications 的限制)我什至强制关闭应用程序,它仍然可以工作!
我想知道这怎么可能?除了 UILocalNotification 还有其他方法吗?他们是否使用多个通知?
谢谢!
我相信,如果您安排 UILocalNotification,操作系统会控制通知并执行它,即使安排它的应用程序关闭也是如此。
他们可能正在使用推送通知,但这需要外部服务器、互联网,而且不太可能。
更有可能的是他们只是在使用 UILocalNotifications。当您安排一个在特定时间关闭时,即使应用程序已退出,它也会在那个时间关闭。一旦安排好所有本地通知,操作系统将引导它们。这是关于 UILocalNotification的Apple 文档。
编辑:作为对您的评论的回应,安排一个本地通知,然后在 30 秒后安排第二个通知,依此类推,是合理的。对我来说,如果有 30 秒的限制,这似乎是唯一的方法。
它们可能是具有后台功能的音频应用程序(在应用程序的 plist 中使用 UIBackgroundModes)并使用音频队列或 RemoteIO 音频单元播放静音,甚至在后台,直到有时间混合一些警报声音或音乐。