如何在他们的时钟应用程序中实现苹果的“贪睡”function?

我正在潜心研究iOS开发,并构build自己的闹钟应用程序,以熟悉平台和SDK。 我目前学习的API之一就是本地通知API,我认为它与苹果公司用来在他们的时钟应用中实现警报的API相同。

我不明白的是他们如何实现他们的“贪睡”function。 据我了解,本地通知允许您向用户展示一个警报框,当您的应用程序未在前台运行时,最多只有两个button,一个用于解除警报的button以及一个用于将用户引导至您的应用程序的button。 然而,在苹果的时钟应用程序,它似乎用户提供了一个警报框有两个button,一个button来解除报警和一个button“贪睡”,并重新安排警报,而无需启动时钟应用程序。 我的问题是…

  1. 当用户点击“贪睡”button时,您如何看待苹果在没有启动时钟应用程序的情况下重新安排闹钟的本地通知? 您是否认为他们正在使用自己的私有API来规避只允许两种select的本地通知的限制? 或者你认为他们正在启动时钟应用程序重新安排本地通知,他们只是不显示应用程序启动和退出?

  2. 该文档说本地通知的“alertAction”属性是要显示在警告框的右边button上的文本和locking屏幕的滑动条。 但是,在Apple的时钟应用程序中,“贪睡”文本是警告框中的左侧button,也不是滑动条文本。 为什么这是倒退?

非常感谢您的想法!

本地通知API没有任何机制来做你想做的事情。 闹钟应用程序几乎肯定不使用任何本地通知的基础设施,它早于他们。 即使它是由本地通知提供的一些基础设施的因素,但肯定不会使用公共API。

你应该提交一个bug,要求添加这个function。