Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 启动音频会话&;在后台使用DidReceiveEmoteNotify:fetchCompletionHandler:_Ios_Apple Push Notifications_Avaudioplayer_Alarm_Avaudiosession - Fatal编程技术网

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:
    已触发 创建会话,然后从那里播放mp3
  • 问题是,当你的应用程序在相当长一段时间内(比如一个晚上)不活动时,会话似乎会被取消,如果你从后台模式请求,则不会提供
    AVAudioSession
    ,因此
    AVAudioPlayer
    不会播放mp3

    我正在开发一款用于紧急情况的报警应用程序,因此即使手机处于静音和锁定状态,该应用程序也需要播放声音


    有人遇到过类似的实现吗?

    在您的情况下,解决方案是使用UIBackgroundModes键的“音频”设置,这有效地告诉系统应用程序的主要目的是在后台播放音乐:“应用程序向用户播放音频内容或在后台录制音频”。有关详细信息,请参见:

    然而,苹果似乎会拒绝使用这种方法的“警报应用”,因为警报不会持续播放,也不符合“音频应用”的资格。请参阅以下答案:

    你可以尝试“玩”沉默的大部分时间,但他们也会拒绝


    总而言之,通过使用静默推送通知和UIBackgroundModes键,您可以在技术上实现此报警应用程序,但这种方法不符合苹果审查政策

    话虽如此,如果你能找到解决办法,请告诉我。我看到的大多数报警应用程序都使用本地通知,但它们毫无用处,因为即使静音开关或“请勿打扰”模式打开,报警也需要响起。嗨,伊万,从技术上讲,这确实是可能的,问题是如果我停止发送静音推送一段时间(比如1晚),当我再次发送静音推送时,应用程序无法播放mp3文件。要使应用程序再次播放mp3,我必须将应用程序置于前台,发送无声推送,让应用程序在前台播放mp3,然后应用程序将能够在无声推送到达后台模式时再次播放mp3。关于审查政策,我将尝试一下,因为我的应用程序不面向公众。