我的应用有时会使用麦克风,但即使我没有使用麦克风,离开我的应用时也会出现红色状态栏。
我已将AVAudioSession的类别设置为SoloAmbient。当我录制时,我将其设置为PlayAndRecord,当我完成后,我将其设置回SoloAmbient。但即使该类别是SoloAmbient,我仍然会看到红色状态栏。
即使我的应用程序根本没有访问麦克风,我仍然会收到此红色状态栏行为。我不将应用配置为背景音频。什么可能使系统认为我正在录制的想法?
编辑:经过一些实验,看起来我可以通过延迟创建录制AUGraph来阻止应用在启动时导致红色状态栏,直到我真正开始录制。
然而,停止录制后我仍然看到红色状态栏。当我停止录制时,我停止AUGraph并处理它并将AVAudioSession类别更改回SoloAmbient。但是当我离开应用程序时,我仍然看到红色状态栏。
答案 0 :(得分:-2)
经过长期漫长的长期研究和障碍后,我发现了以下的简单解决方案
在Targets-> General->部署信息中检查HideStatusBar选项
如下所示!
在viewDtroller(你在RootViewController中保存的那个)中,在viewDidAppear中添加这行代码......
[[UIApplication sharedApplication] setStatusBarHidden:NO];
因为当您取消选中HideStatusBar选项并且您的应用需要任何后台进程或音频相关进程时,状态栏将变为红色并且高度增大。如果您不想在整个应用程序中使用状态栏,则不要在viewDidAppear中添加上述行并选中HideStatusBar Option。