许多待办事项列表应用程序(例如 Wunderlist)提供某种提醒功能,通常只是发出通知。
但我从未遇到过提供与内置预装闹钟类似的通知视图的应用程序。您知道,这会锁定手机并提供小睡选项。
这让我想知道 Apple 预装 iOs 应用程序中内置的闹钟功能(包括设置时间或添加贪睡按钮等)是否仅适用于该特定应用程序?
由于我是一名没有任何编码技能的设计师,我只想知道是否可能。
不幸的是,这对开发人员来说不可用。您可以在AppStore中查看所有闹钟应用程序,它们都使用标准的本地通知。它将触发一次,仅此而已。您当然可以设置自定义声音并更改几个选项,但它永远不会像 iPhone 中内置的
Clock
应用程序那样工作。
您可以在Apple文档中阅读有关本地通知的更多信息:https://developer.apple.com/reference/usernotifications/unnotificationrequest
我认为 Alarmy 会在后台不断播放(设置闹钟时)无声的声音。就像 Spotify,但沉默。这使应用程序始终处于活动状态。我通过在自己的应用程序中记录结果
AVAudioSession.sharedInstance().isOtherAudioPlaying
(Swift 4) 得出了这个结论。每当 Alarmy 终止时,它都会返回 false,每当 Alarmy 在后台运行时,它都会返回 true。 Ernesto Elsäßer 链接的应用程序也会发生同样的情况。
我使用了相同的技术,并且我还使用了这个pod在时间到来时触发一个功能并开始真正的音乐。
我这样做是为了测试,不会用它来制作应用程序,因为在后台播放无声声音违反了苹果的规则。我不知道 Alarmy(或其他使用相同方法的应用程序)是如何逃脱的。
一些相关问题:
这个应用程序似乎正是这样做的,但我不知道如何......
我对其进行了测试,它成功地在任意选择的时间开始在锁定的设备上播放音乐,并且播放时间远远长于通知声音允许的 30 秒时间范围。此外,音乐是从在线广播电台传输的,这意味着他们找到了一种方法......
我还在飞行模式下尝试了闹钟,它仍然播放本地存储的备份歌曲,所以它可能不会滥用 VoiP 后台模式或推送通知,但确实是由本地通知触发的......
所以,虽然我不知道如何做,但看起来有一种经过 App Store 审查的方法来创建真正的闹钟应用程序。
(我不隶属于这个应用程序的开发人员,只是对可能性做了一些研究。)