我已经尝试过的:
>在IP.plist中的UIBackgroundModes键中的voip和音频模式setCategory:建议in this SO answer的AVAudioSessionCategoryPlayAndRecord setActive(当我去背景时给我一个红色状态栏,但在前景时没有任何东西)
>上一个AVAudioSession setMode:AVAudioSessionModeVoiceChat – 没有用
>将kcfStreamNetworkServiceTypeVoIP标志设置为pjsip源中的套接字并重新编译它 – 没有帮助.此外,自iOS 8以来已弃用.
>创建一个单独的套接字,为inputStream / outputStream设置voip标志:[self.inputStream setProperty:NSStreamNetworkServiceTypeVoIP forKey:NSStreamNetworkServiceType](从here获取示例代码)
使用pjsip进行通话.还有什么可以尝试增加状态栏高度,将所有UI移动?
有没有任何标准方法可以做到这一点,或者我应该通过调整根UIWindow并在状态栏下设置另一个绿色UIWindow来自行破解它?
编辑:
由于没有找到标准方法的答案,接受@ roman-ermolov回答.对于那些会寻找答案的人,我可以建议你自己做几个选择:
>将根视图控制器包装在容器内,如Apple’s iAdSuite with Storyboards example所示.例如,查看我的sample project.可能是制作那个酒吧的最好方法.
> Hack UINavigationBar高度(参见this方法) – 对景观不起作用,但可能会解决
>自己控制主UIWindow的框架,在状态栏下放置另一个UIWindow,其中包含所需的内容.