Ios 启动音频会话&;在后台使用DidReceiveEmoteNotify:fetchCompletionHandler:
在应用程序中使用静默推送通知处于后台时,我是否可以播放Ios 启动音频会话&;在后台使用DidReceiveEmoteNotify:fetchCompletionHandler:,ios,apple-push-notifications,avaudioplayer,alarm,avaudiosession,Ios,Apple Push Notifications,Avaudioplayer,Alarm,Avaudiosession,在应用程序中使用静默推送通知处于后台时,我是否可以播放AVAudioPlayer 我当前的实现如下所示: 发送静默推送通知 didReceiveMemotentification:fetchCompletionHandler:已触发 创建会话,然后从那里播放mp3 问题是,当你的应用程序在相当长一段时间内(比如一个晚上)不活动时,会话似乎会被取消,如果你从后台模式请求,则不会提供AVAudioSession,因此AVAudioPlayer不会播放mp3 我正在开发一款用于紧急情况的报警应用程序,
AVAudioPlayer
我当前的实现如下所示:
didReceiveMemotentification:fetchCompletionHandler:
已触发
创建会话,然后从那里播放mp3AVAudioSession
,因此AVAudioPlayer
不会播放mp3
我正在开发一款用于紧急情况的报警应用程序,因此即使手机处于静音和锁定状态,该应用程序也需要播放声音
有人遇到过类似的实现吗?在您的情况下,解决方案是使用UIBackgroundModes键的“音频”设置,这有效地告诉系统应用程序的主要目的是在后台播放音乐:“应用程序向用户播放音频内容或在后台录制音频”。有关详细信息,请参见: 然而,苹果似乎会拒绝使用这种方法的“警报应用”,因为警报不会持续播放,也不符合“音频应用”的资格。请参阅以下答案: 你可以尝试“玩”沉默的大部分时间,但他们也会拒绝
总而言之,通过使用静默推送通知和UIBackgroundModes键,您可以在技术上实现此报警应用程序,但这种方法不符合苹果审查政策 话虽如此,如果你能找到解决办法,请告诉我。我看到的大多数报警应用程序都使用本地通知,但它们毫无用处,因为即使静音开关或“请勿打扰”模式打开,报警也需要响起。嗨,伊万,从技术上讲,这确实是可能的,问题是如果我停止发送静音推送一段时间(比如1晚),当我再次发送静音推送时,应用程序无法播放mp3文件。要使应用程序再次播放mp3,我必须将应用程序置于前台,发送无声推送,让应用程序在前台播放mp3,然后应用程序将能够在无声推送到达后台模式时再次播放mp3。关于审查政策,我将尝试一下,因为我的应用程序不面向公众。