我正在尝试在后台唤醒应用程序。我见过一个应用程序,当本地通知到达时,它会在后台唤醒应用程序。应用程序名称为Alarmy - https://itunes.apple.com/us/app/alarmy-alarm-clock/id1163786766?mt=8
我查阅了苹果文档中的背景模式-- https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html
我发现了在后台启动应用程序的一个提示--“对于音频应用程序,音频框架需要应用程序来处理一些数据。(音频应用程序包括播放音频或使用麦克风的应用程序。)”但是我没有找到任何关于这方面的技术帮助。
关于Alarmy应用,我在这里发现了两三个问题,所有的问题都说他们正在使用AVAudioSession类别播放静音。我确实试过了,但它不能帮助我在收到本地通知时唤醒应用程序。
到目前为止,我做了无声音频的无限循环,也设置了音频会话,但无法唤醒应用程序。
let audioSession = AVAudioSession.sharedInstance()
try? audioSession.setCategory(.playback, mode: .default, options: .mixWithOthers)
try? audioSession.setActive(true)
audioPlayer = try! AVAudioPlayer.init(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: "Birthday_6", ofType: "mp3")!))
audioPlayer?.numberOfLoops = -1
audioPlayer?.play()如果任何人有在AVAudioSession上唤醒定位服务等应用程序的想法,那么请让我知道。
发布于 2020-04-16 03:24:37
根据我的观察,报警应用程序正在设置闹钟设置的指定时间的本地通知的x编号。
当应用程序进入后台时,他们正在设置本地通知的x数量。并在应用程序进入前台时使所有未决通知无效。这是一个循环,当应用程序转到前台并返回到后台时,它将不断重复。
在终止时,它们会触发一个通知,要求用户在后台保持应用程序打开,以及前面提到的指定时间的x通知数量。
当应用程序不在前台时,在警报时间触发x数量的通知,每个通知之间有特定的时间间隔,这是正在播放的声音的长度,这为正在触发的通知的音乐或声音提供了连续性。
当闹钟启动时,如果应用程序正在运行,它会像普通闹钟一样响起,直到它被关闭。如果你在这段时间内点击了dismiss以外的任何东西,或者强制关闭了应用程序,那么前面提到的循环就会被触发,并会继续使用本地通知发出声音,直到应用程序中的dismiss按钮被点击。
https://stackoverflow.com/questions/55546865
复制相似问题