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

时间:2016-06-01 14:06:59

标签: ios objective-c voip sinch

我使用iOS库在Sinch创建了一个VoIP应用。我能够成功拨打电话,但在创建双高呼叫状态栏时遇到问题。我的意思是,我的呼叫窗口出现了,在那个窗口我有一个按钮离开视图并转到其他地方(没有挂断电话)我希望显示一个绿色的双倍高度呼叫状态栏我可以点击它并返回给我打电话。

当我将应用程序发送到后台时,我看到双倍高度的红色条在跳板上返回我的应用程序,因此背景模式& voip模式似乎设置正确。我确信WhatsApp设法获得绿色栏(如here所示)。

我已经搜索了一段时间,而我能找到的最好的就是AVAudioSessionthis问题上的回答。

然而,即使按照那里的说明并尝试添加其他一些想法,我也无法获得绿色通话中状态栏以进行弹出。感觉我必须告诉iOS我的电话处理的是哪个视图?这样它知道什么时候显示绿色条?

我尝试过的代码:

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

这显然已经由Sinch处理了,但正如他们documentation中提到的那样,所以我真的很茫然。

  

Sinch SDK应用音频会话类别模式AVAudioSessionModeVoiceChat以提高语音质量。

2 个答案:

答案 0 :(得分:1)

因此,当您在后台录制时,IOS会自动显示您描述的红色条。要显示您自己的自定义,您在正确的轨道上,您需要在每个视图上都有自己的通知,我会实现一个基本控制器,并确保它在需要时可见。检查此SO Displaying a stock iOS notification banner when your app is open and in the foreground?是否有一种方法可以执行此操作

答案 1 :(得分:0)

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

基本上iOS没有内置功能来显示应用内状态栏,您需要创建自己的状态栏。 @ cjensen的回复让我向this文章解释了这一点。

如果您需要应用内拨打电话状态栏,则需要自行创建或使用KrauseFx' TSMessages等库来为您执行此操作。使用UILocalNotification作为@cjensen建议只是提供一个入口点来决定何时来创建此横幅的一种方法。