【发布时间】:2011-03-27 08:33:39
【问题描述】:
我正在深入研究 iOS 开发,并正在构建自己的闹钟应用程序以熟悉平台和 SDK。我目前正在学习的 API 之一是 Local Notifications API,我认为它与 Apple 用于在其时钟应用程序中实现警报的 API 相同。
我不明白他们是如何实现“贪睡”功能的。据我了解,本地通知允许您向用户显示一个警报框,当您的应用程序未在前台运行时,该框最多有两个按钮,一个按钮用于解除警报,一个按钮用于将用户带到您的应用程序.然而,在 Apple 的时钟应用程序中,似乎向用户显示了一个带有两个按钮的警报框,一个按钮用于解除警报,一个按钮用于“打盹”并在不启动时钟应用程序的情况下重新安排警报。我的问题是......
当用户单击“贪睡”按钮时,您认为 Apple 如何在不启动时钟应用程序的情况下重新安排闹钟的本地通知?您是否认为他们使用自己的私有 API 来规避仅允许两个选项的本地通知的限制?还是您认为他们正在启动时钟应用程序来重新安排本地通知,他们只是不显示应用程序启动和退出?
文档说本地通知的“alertAction”属性是要显示在警告框的右键和锁定屏幕的滑块上的文本。然而,在 Apple 的时钟应用程序中,“Snooze”文本是警报框中的左侧按钮,也不是滑块栏文本。为什么会这样倒退?
非常感谢您的想法!
【问题讨论】:
-
为什么你会假设苹果正在使用本地通知?他们实际上正在使用一些未记录的来重新安排贪睡,因为现在我们无法在不重新打开应用程序的情况下安排本地通知
-
好吧,我想我是这么认为的,因为这是最接近的功能。
-
@Daniel - 除非你为 Apple 工作,否则你就是做出假设的人 :)
-
当然,但是,一旦应用程序已经关闭(甚至在传递本地通知时),您仍然无法安排本地通知,因此苹果仍在使用一些未记录的 API,这是唯一(记录的)方式要做到这一点,我认为是让“贪睡”按钮重新打开应用程序并重新安排通知,然后关闭应用程序......不要可能我错了:)
标签: iphone ipad ios clock localnotification