为什么应用程序因UIBackgroundModes键而被拒绝?

时间:2012-08-02 04:49:53

标签: audio appstore-approval

我的应用程序在Titanium中完成。我的应用程序在某些部分有一些音频mp3链接。用户可以播放该链接并在后台播放我添加了一个键所需的背景模式为“应用程序播放音频“。但Apple拒绝了我的两次,即使我使用的是声音内容并在 Info.Plist中提供密钥 - 请有人建议我该怎么办?我是否需要上传新版本再次在Itunes上? enter image description here

  

2.16:多任务应用程序只能将后台服务用于其预期目的:VoIP,音频播放,位置,任务完成,本地通知等。

     

我们发现您的应用使用后台模式,但不包含要求该模式持续运行的功能。此行为不符合App Store审核指南。

     

我们注意到您的应用在Info.plist中的UIBackgroundModes键中声明了对音频的支持,但未包含需要持久音频的功能。

     

如“iOS应用程序编程指南”中所示:

     

“此密钥适用于向用户提供可听内容的应用程序>在后台,例如音乐播放器或流式音频应用程序。”

     

因此,在应用程序处于后台时向用户提供可听内容或从UIBackgroundModes键中删除“audio”设置是合适的。

     

对于离散的代码级问题,您可以咨询Apple Developer技术支持。请务必:

     
      
  • 包含拒绝问题的完整详情
  •   
  • 准备任何符号化的崩溃日志,屏幕截图和步骤,以重现DTS工程师跟进时的问题。
  •   
     

有关如何表示和阅读崩溃日志的信息,请参阅技术说明TN2151了解和分析iPhone OS应用程序崩溃报告。

     

如果您在重现此问题时遇到困难,请尝试按照https://developer.apple.com/library/ios/qa/qa1764/使用Xcode存档功能测试工作流程中所述测试工作流程。“

1 个答案:

答案 0 :(得分:0)

您应该在AppDelegate的didFinishLaunchingWithOptions方法中设置适当的音频会话,以支持背景音乐播放。

[[AVAudioSession shareInstance] setDelegate:self];
NSError *sessionError = nil;
[[AVAudioSession shareInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];

NSError *activationError = nil;
[[AVAudioSession shareInstance] setActive:YES error:&activationError];