我可以使用静音推送通知在应用程序处于后台时播放AVAudioPlayer
吗?
我目前的实施是这样的:
didReceiveRemoteNotification:fetchCompletionHandler:
被触发
然后创建会话然后从那里播放mp3。问题是,当您的应用在相当长的时间内没有活动时(例如一晚),会话似乎被取消,如果您从后台模式请求它,则不会发出AVAudioSession
,因此{{ 1}}不会播放mp3。
我正在为紧急事情开发一个警报应用程序,因此即使手机静音并锁定,应用程序也需要发出可听见的声音。
是否有人遇到任何类似的实施?
答案 0 :(得分:0)
您的案例中的解决方案是使用UIBackgroundModes键中的“audio”设置,这有效地告诉系统应用程序的主要目的是在后台播放音乐:“应用程序向用户播放可听内容或记录在后台播放音频“。有关详细信息,请参阅此处:https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html
然而,苹果似乎拒绝使用这种方法的“警报应用程序”,因为警报不能持续播放并且不符合“音频应用”的条件。请参阅此答案:Why did my app get rejected because "Multitasking apps may only use background"?。
你可以尝试在大多数时间“玩”沉默,但他们也会拒绝它。
总而言之,您可以通过使用静默推送通知和UIBackgroundModes键在技术上实现此警报应用程序,但此方法违反Apple审核策略。