在接收推送通知时在后台调用音频

时间:2017-05-05 09:38:23

标签: ios xcode itunesconnect

我在didReceiveRemoteNotification fetchCompletionHandler上实现了AVAudioPlayer,它在接收推送通知时播放音频。

然而我的应用被拒绝说

  

您的应用声明在UIBackgroundModes键中声明支持音频   您的Info.plist但不包含需要持久性的功能   音频。

     

后续步骤

     

音频键适用于在后台为用户提供可听内容的应用,例如音乐播放器或   流媒体音频应用。请修改您的应用以提供声音   应用程序在后台或删除时向用户提供内容   来自UIBackgroundModes键的“audio”设置。

我发现苹果不允许这样..默认情况下它会在接收通知时允许30秒发出声音。我需要持续播放声音,直到用户打开应用程序。是否有任何解决方案?

1 个答案:

答案 0 :(得分:0)

您不需要使用背景音频播放。

  1. 要在后台播放或执行任何任务,您可以使用带有过期处理程序的后台任务:https://www.raywenderlich.com/143128/background-modes-tutorial-getting-started

  2. 为本地通知实施UNUserNotifications: https://useyourloaf.com/blog/local-notifications-with-ios-10/

  3. 根据您的要求,使用NSTimer执行声音任务并显示本地通知30秒或1分钟。

  4. https://github.com/TUNER88/iOSSystemSoundsLibrary:用于您在后台播放的系统声音