许多闹钟应用程序在几个小时后设置了锁定屏幕播放声音(例如:Rise,Wave闹钟)
您需要做的就是在应用程序打开时设置闹钟并锁定屏幕,并在屏幕锁定几小时后闹钟响起。
当我的设备被锁定时,我设法弄清楚如何使用AVPlayer播放音频:
将背景功能设置为音频
设置'应用程序不在后台运行'到是
3
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
print("AVAudioSession Category Playback OK")
do {
try AVAudioSession.sharedInstance().setActive(true)
print("AVAudioSession is Active")
} catch let error as NSError {
print(error.localizedDescription)
}
} catch let error as NSError {
print(error.localizedDescription)
}
当我尝试设置NSTimer或使用dispatch_after运行播放我的audiofile的代码并锁定我的iPhone时,Timer会很快停止,因为显然应用程序在几秒钟后就会变为非活动状态 (但只有当我从主屏幕启动应用程序并且当我从xcode运行应用程序时没有,顺便说一下)
有没有人知道这些闹钟应用程序如何设法延迟音频? 谢谢你的帮助!
编辑: 我想出他们是怎么做到的。我发出警报并听取了发言者的意见。这些应用程序播放静音以保持活跃状态。不知道他们是如何通过苹果的检查,但显然许多闹钟应用程序这样做并通过
答案 0 :(得分:0)
这些应用通过选择退出多任务模式来实现这一目标。如果应用程序选择退出多任务模式,则当设备被锁定时,如果应用程序位于前台,则应用程序不会被暂停,因此当时间到达时它们能够播放警报声。您可以阅读更多here
答案 1 :(得分:-1)
(代表问题作者发布的答案,将其移至答案空间)。
我弄清楚了他们是怎么做到的。我设置了闹钟并听了扬声器。这些应用会播放静音声音以保持活动状态。我不知道他们是如何通过Apple的支票的,但是显然许多闹钟应用程序都这样做并通过了。