我开发了一个叫Whatapp和skype的调用应用程序。我的问题是,当我的手机被锁定而另一个用户正在通过锁定屏幕给我打电话时,我会收到通知,如果我刷通知,则自动收到通话。(当然使用callkit)
我只是想知道是否有可能看到callkitUI屏幕与我的手机解锁时另一个用户给我打电话一样?
如果有人知道细节,解决方案或任何有关它的信息,那将非常有用。
我已经检查了下面的文件。
ENHANCE YOUR VOIP APP USER EXPERIENCE USING PUSHKIT + CALLKIT
这是我的代码。
func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) {
action.fulfill()
print("=================CXAnswerCallAction============")
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "VoipAcceptUser", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "VoipAcceptUser")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
}
当应用程序在前台运行时,系统不会向您的应用程序提供其调用屏幕。您必须自己提供呼叫屏幕。
通过使用CallKit
框架,完全取决于系统确定是否显示来电屏幕。仅在我知道的3个实例中,系统为您的应用程序提供了一个呼叫屏幕。
系统为VoIP呼叫提供呼叫屏幕时的已知实例:
CXProviderDelegate
对象。总结是,您需要自己为VoIP应用程序提供UI,至少是传出和活动的调用屏幕,并相应地使用调用状态更新UI。