在iOS中显示自定义VoIP应用程序的通话状态栏(双倍高度)

我使用Sinch库在iOS创build了一个VoIP应用程序。 我能够成功拨打电话,但无法创build双倍通话状态栏。 通过这个我的意思是,我的通话窗口出现,并在该窗口上我有一个button离开视图,并去其他地方(不挂断电话),我想要一个绿色的双倍高度通话状态栏显示我可以点击它,并返回给我打电话查看。

当我将应用程序发送到后台时,我看到双高度红条在跳板上返回到我的应用程序,所以后台模式&voip模式似乎设置正确。 我知道WhatsApp设法得到绿色酒吧(如这里看到)。

我已经search了一段时间,我能find的最好的方法就是使用AVAudioSession来回答这个问题。

但是,即使按照指示,并尝试添加一些其他的想法,我不能得到绿色的通话状态栏popup。 这感觉就像我不得不告诉iOS我的电话正在处理哪个视图? 这样它知道什么时候显示绿色的酒吧?

我试过的代码:

 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionModeVoiceChat error:nil]; [[AVAudioSession sharedInstance] setActive:YES error:nil]; 

然而, Sinch已经处理了这个问题,正如他们的文档中所提到的那样,我真的不知所措。

Sinch SDK使用audio会话类别模式AVAudioSessionModeVoiceChat来改善语音质量。

所以当你在后台录制时,IOS会自动显示红色条。 要显示自己的自定义,你在正确的轨道上,你需要在每个视图有你自己的通知,我会实现一个基本控制器,并确保如果需要可见。 检查一下当你的应用程序打开并在前台显示一个股票iOS通知横幅? 一个这样做的方法

感谢Sinch的 @cjensen的帮助,非常有用。 张贴我自己的答案,因为我不觉得他的回答完全回答了我的问题。

基本上iOS没有内置的function来显示一个应用程序内状态栏,你需要创build自己的。 @ cjensen的回应让我对这篇文章进行了解释。

如果你需要一个应用内通话状态栏,你需要自己创build它,或者使用像KrauseFx的TSMessages这样的库来为你做。 build议使用UILocalNotification提供的UILocalNotification只是提供决定何时创build此横幅的入口点的一种方法。