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

8
我的应用程序是使用Titanium开发的。在某些部分中,我的应用程序有一些音频mp3链接。用户可以播放这些链接,并为了在后台播放,我添加了一个名为“App plays audio”的键Required background modes。但是,即使我使用可听内容并在Info.Plist中提供该键,苹果仍然拒绝了我的两次申请。请有人建议我该怎么办?我需要再次上传新版本到iTunes吗?

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

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

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

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

"此键旨在供在后台向用户提供可听内容(例如音乐播放器或流媒体音频应用程序)的应用程序使用。"

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

对于离散的代码级问题,您可能希望咨询苹果开发者技术支持。请确保:

  • 包括您的拒绝问题的完整详细信息
  • 为DTS工程师跟进时准备任何符号化的崩溃日志、截图和重现问题的步骤。

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

如果您无法复制此问题,请尝试按照https://developer.apple.com/library/ios/qa/qa1764/中描述的方式测试工作流程,使用Xcode的存档功能进行测试。


1
这个问题现在已经解决了。我很高兴。我的应用程序现在已经上线了。我只是添加了一些注释并告知审核人员播放声音文件的确切位置,他们批准了我的应用程序。我的代码没有任何问题。他们在审核时跳过了那部分内容。 - Sanoj Kashyap
我也遇到了同样的问题,重新上传到App Store时,在“描述”栏中解释条件是否足够?请尽快建议我。 - Krish Allamraju
在我的情况下,他们无法确定哪个部分正在播放音频,因此您只需告诉他们可以通过哪个路径获取该音频部分即可。无需上传构建文件,您只需像这样进行评论即可。 - Sanoj Kashyap
非常感谢您的回复,我会去做的。 - Krish Allamraju
1个回答

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];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接