我的应用程序被拒绝了,因为
您的应用程序在Info.plist中的UIBackGroundModes键中声明了对音频的支持,但不包括需要持久音频的功能。
但是当应用程序在后台时,我实际上是在播放媒体声音文件,使用https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-media / 如果我取消选中UIBackoundModes下的音频,则媒体文件只在前台工作。
是否还有另一种方式来播放前景和背景上的声音媒体文件,而不是使用我所链接的这个媒体插件?或者以某种方式向苹果展示我在我的应用程序中实际使用了这个功能?
谢谢
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在iOS应用中,如果需要在后台播放音频,确实需要在Info.plist文件中声明UIBackgroundModes键并启用audio功能。您提到的问题可能是苹果审核团队认为您的应用没有明确展示出需要持续在后台播放音频的场景。
这里有几个建议来解决您的问题:
确保音频播放是持久且合理的:首先确认您的应用在后台播放音频的行为符合苹果的人机界面指南和App Store审查指南。例如,如果是音乐播放器、有声书、冥想应用等,这些通常被认为是合理需求。在提交审核时,可以在备注中详细说明应用为何需要在后台播放音频。
使用正确的音频会话类别:在您的应用程序中,确保设置了正确的AVAudioSession类别。对于需要在后台播放音频的应用,应该设置为AVAudioSessionCategoryPlayback
。这可以通过Cordova插件或者原生代码实现。例如,在Swift或Objective-C中,可以这样设置:
do {
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)
try AVAudioSession.sharedInstance().setActive(true)
} catch {
print("Setting category failed: \(error)")
}
对于Cordova应用,您可能需要查找或开发一个插件来调用这个原生代码。
提供演示视频:在App Store Connect提交应用时,附上一个简短的演示视频,清晰地展示您的应用在后台播放音频的功能和必要性。这有助于审核团队理解您的应用逻辑。
更新Info.plist注释:在Info.plist文件中,除了添加UIBackgroundModes键外,还可以在相应的条目旁边添加注释,解释为什么您的应用需要这个权限。虽然审核团队不直接查看Info.plist文件中的注释,但这是一个好的实践,以保持项目文档的清晰性。
检查Cordova插件配置:确认Cordova的Media插件是否正确配置了音频会话类别。有些插件允许通过配置参数来设定音频会话类别,确保这些设置与您的需求相符。
如果以上方法都尝试过,而问题依然存在,考虑联系Cordova社区或者查看是否有更新版本的插件解决了类似问题。同时,也可以考虑向Cordova Media插件的维护者或社区论坛寻求帮助,看是否有其他开发者遇到并解决了相同的问题。