我有一个简单的问题,有没有人知道iOS 9及更高版本中的任何其他方式,能够让应用程序在后台访问麦克风,除了使用“音频”背景模式?
该应用程序也没有录制音频,只是处理以尝试识别通过麦克风接收的音频,并向用户提供通知。
我问这个问题,因为我在应用程序的第1版中使用了“音频背景模式”,并继续在版本2(更新)中使用“音频背景模式”,但是当我尝试将版本2提交到应用商店,他们拒绝它并解释应用版本2,不符合2.16,因为录制音频没有正确使用音频背景模式,我不录制音频。
提前致谢。
答案 0 :(得分:1)
如果不添加“音频”,您就无法实现自己的目标。 UIBackgroundModes键的值。媒体框架使用此值来防止应用在后台运行时被暂停。
根据您所说的应用程序属于:Audio recording apps
类别。因此,Apple没有理由拒绝您的应用。尝试联系App Review团队或在App Review Information
中的iTunes Connect中有一个Notes
字段,您可以在其中提供审核小组使用的其他信息,并在那里写下有关您的应用在后台工作方式的一些解释。
答案 1 :(得分:1)
你说你的应用程序可以在后台访问麦克风,对吗?系统不知道您是录制音频还是仅处理音频,这并不重要,因为您在后台访问麦克风这一事实已经足够了。
您的应用必须明确告诉系统它将在后台使用某些功能。为什么呢?
声明服务可让系统知道您使用的服务, 但在某些情况下,系统框架实际上是阻止的 您的申请被暂停。 https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH4-SW23
即。如果您的应用未声明它将在后台使用麦克风,则系统会暂停您的应用,因为它认为您的应用无需处于活动状态。如果您的应用以当前状态进入App Store,您的应用可能会在后台暂停(当它真的不应该时),这会导致糟糕的用户体验。 因此,我认为,如果没有明确声明您的应用在后台使用麦克风,您将无法进入App Store。
你怎么能这样做?
必须声明对某些类型的后台执行的支持 由使用它们的应用程序推进。在Xcode 5及更高版本中,您声明 您的应用支持的背景模式来自的功能选项卡 你的项目设置。启用“背景模式”选项会添加 UIBackgroundModes是您应用的Info.plist文件的关键。选择一个或 更多复选框将相应的背景模式值添加到其中 键。表3-1列出了您可以指定的背景模式和 Xcode分配给应用程序中的UIBackgroundModes键的值 Info.plist文件。
我希望这能回答你的问题。