是否有可能建立一个闹钟,如Apple的内置应用程序?

时间:2017-04-21 09:12:30

标签: ios alarm

很多待办事项列表应用程序(如Wunderlist)都提供某种提醒功能,通常只会触发通知。

但我从未遇到过提供与内置预装闹钟相似的通知视图的应用。你知道,这会锁定手机并提供贪睡选项。

这让我想知道Apple预装的iOs app中内置的闹钟功能是否仅适用于该特定应用?

由于我是一名没有任何编码技能的设计师,我只想知道是否可能。

3 个答案:

答案 0 :(得分:4)

不幸的是,开发人员无法使用它。您可以在AppStore中检查所有闹钟应用程序,所有这些应用程序都使用标准的本地通知。哪个会发射一次,这就是全部。您当然可以设置自定义声音并更改几个选项,但它永远不会像在iPhone中的Clock应用程序中构建一样。

您可以在Apple文档中了解有关本地通知的更多信息:https://developer.apple.com/reference/usernotifications/unnotificationrequest

答案 1 :(得分:4)

This app似乎就是这样做的,但我不知道如何......

我对它进行了测试,它设法在任意选择的时间开始在锁定的设备上播放音乐,并且持续时间长于通知声音所允许的30秒时间帧。此外,音乐是从在线广播电台流式传输的,这意味着他们找到了一种方式......

  1. 从预定通知中唤醒应用,无需用户互动
  2. 在后台创建与广播电台的套接字连接
  3. 开始无限期地在后台播放声音
  4. 我还在飞机模式下尝试了闹钟,它仍然播放了本地存储的备用歌曲,因此它可能不会滥用VoiP后台模式或推送通知,但实际上是由本地通知触发的。

    因此,尽管我无法说明如何,但看起来有一种App Store Review防范方式可以创建一个真正的闹钟应用。

    (我不是这个应用程序的开发人员,只是对可能的内容进行了一些研究。)

答案 2 :(得分:1)

我认为 Alarmy 会在背景中不断播放(设置闹钟时)无声的声音。像Spotify,但沉默。这使应用程序始终处于活动状态。我通过在我自己的应用程序中记录结果 AVAudioSession.sharedInstance().isOtherAudioPlaying (Swift 4) 得出了这个结论。每当 Alarmy 终止时,它返回 false,每当 Alarmy 在后台运行时,它返回 true。 Ernesto Elsäßer 链接的应用程序也会发生同样的情况。

我使用了相同的技术,我还使用了 this pod 来触发一个函数,当时间到时开始播放真正的音乐。

我这样做是为了测试,我不会用它来制作应用程序,因为在后台播放无声的声音是违反 Apple 的规则的。我不知道 Alarmy(或其他使用相同方法的应用)是如何逃脱惩罚的。

一些相关问题:

您也可以查看this article