【问题标题】:How can I implement Apple's "Snooze" functionality in their Clock app?如何在他们的时钟应用程序中实现 Apple 的“贪睡”功能?
【发布时间】:2011-03-27 08:33:39
【问题描述】:

我正在深入研究 iOS 开发,并正在构建自己的闹钟应用程序以熟悉平台和 SDK。我目前正在学习的 API 之一是 Local Notifications API,我认为它与 Apple 用于在其时钟应用程序中实现警报的 API 相同。

我不明白他们是如何实现“贪睡”功能的。据我了解,本地通知允许您向用户显示一个警报框,当您的应用程序未在前台运行时,该框最多有两个按钮,一个按钮用于解除警报,一个按钮用于将用户带到您的应用程序.然而,在 Apple 的时钟应用程序中,似乎向用户显示了一个带有两个按钮的警报框,一个按钮用于解除警报,一个按钮用于“打盹”并在不启动时钟应用程序的情况下重新安排警报。我的问题是......

  1. 当用户单击“贪睡”按钮时,您认为 Apple 如何在不启动时钟应用程序的情况下重新安排闹钟的本地通知?您是否认为他们使用自己的私有 API 来规避仅允许两个选项的本地通知的限制?还是您认为他们正在启动时钟应用程序来重新安排本地通知,他们只是不显示应用程序启动和退出?

  2. 文档说本地通知的“alertAction”属性是要显示在警告框的右键和锁定屏幕的滑块上的文本。然而,在 Apple 的时钟应用程序中,“Snooze”文本是警报框中的左侧按钮,也不是滑块栏文本。为什么会这样倒退?

非常感谢您的想法!

【问题讨论】:

  • 为什么你会假设苹果正在使用本地通知?他们实际上正在使用一些未记录的来重新安排贪睡,因为现在我们无法在不重新打开应用程序的情况下安排本地通知
  • 好吧,我想我是这么认为的,因为这是最接近的功能。
  • @Daniel - 除非你为 Apple 工作,否则你就是做出假设的人 :)
  • 当然,但是,一旦应用程序已经关闭(甚至在传递本地通知时),您仍然无法安排本地通知,因此苹果仍在使用一些未记录的 API,这是唯一(记录的)方式要做到这一点,我认为是让“贪睡”按钮重新打开应用程序并重新安排通知,然后关闭应用程序......不要可能我错了:)

标签: iphone ipad ios clock localnotification


【解决方案1】:

本地通知 API 没有任何机制来做你想做的事。闹钟应用程序几乎可以肯定没有使用任何本地通知基础设施,它早于它们。即使考虑到本地通知提供的某些基础设施,它也肯定不会使用公共 API。

您应该file 一个错误,要求添加此功能。

【讨论】:

  • 我已将此提交为错误 #9381428。好主意!
  • 大约一年后,我再次将其提交为 bug #11115712:-\
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-26
  • 2014-05-14
  • 1970-01-01
  • 1970-01-01
  • 2016-10-12
  • 2011-07-21
  • 1970-01-01
相关资源
最近更新 更多