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