如何删除IOS CallKit中的顶部栏?

如何删除IOS CallKit中的顶部栏?,ios,objective-c,callkit,Ios,Objective C,Callkit,我正在我的应用程序中使用callkit和Pushkit。使用callkit后,当我的应用程序进入后台时,屏幕顶部会显示红色视图,即使我已断开呼叫 如何以编程方式删除此俯视图 这是问题的截图 我正在断开电话。使用此链接 这不是一个问题。这是iOS的默认行为 当您在打电话、在后台监视位置、录制音频、视频通话(例如:Skype)时,您可以看到类似的行为。如果您使用的是CallKitframework,则该条应为绿色。红色通常用于表示没有CallKitframework实现的SIP调用。但如果您说调用已

我正在我的应用程序中使用
callkit
Pushkit
。使用callkit后,当我的应用程序进入后台时,屏幕顶部会显示红色视图,即使我已断开呼叫

如何以编程方式删除此俯视图

这是问题的截图

我正在断开电话。使用此链接


这不是一个问题。这是iOS的默认行为


当您在打电话、在后台监视位置、录制音频、视频通话(例如:Skype)时,您可以看到类似的行为。

如果您使用的是
CallKit
framework,则该条应为绿色。红色通常用于表示没有
CallKit
framework实现的SIP调用。但如果您说调用已结束且bar仍然存在,则表示您没有使用
CallKit
正确结束调用。这意味着它仍然指示一个活动的SIP呼叫

当您使用
报告新的IncomingCallWithUUID
和使用
[[CXStartCallAction alloc]initWithCallUID
报告传出呼叫时,您可以获得呼叫的
UUID
。在该方法中,您可以创建并传递
UUID

NSUUID *callUUID = [NSUUID UUID];

您必须跟踪它!

您的音频会话仍然是一个重新编码会话(如播放和录制音频会话),这就是为什么红色条仍然位于顶部。这向用户表明您的应用程序正在录制音频,就像前面的评论中提到的那样(正常的iOS行为)。如果要在通话结束后删除红色条,请将音频会话切换到非录制会话,如环境音频会话。

红色横幅表示
音频会话仍处于活动状态。请使用CallKit的提供程序方法停用音频引擎

func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession)

这是一个iOS限制。我认为这是一个隐私问题。苹果希望用户知道他们在电话中,无论他们在哪里。对于在后台监视位置或录制音频的应用程序也是如此。这不是问题。iOS的默认行为。@TawaNicolas。。当我不在任何电话中时。。此俯视图显示evry最小化应用程序的时间。当我断开电话时..断开电话后红色顶部栏未消失。