我正在创建VOIP应用程序。大多数逻辑类似于VoIP应用程序的CallKit iOS Swift教程(超级简单)教程。 https://websitebeaver.com/callkit-swift-tutorial-super-easy
我的问题是,运行viewDidLoad()之后,CXCallController不在应用程序的顶部,而是在“任务管理器”中位于其旁边:
我正在关注的文档说:“如果按下电话上的锁定按钮,您将看到呼出电话正在尝试建立连接。”
在用户接受呼叫后,如何将CXCallController带到最前面?
import UIKit
import CallKit
class ViewController: UIViewController, CXProviderDelegate {
override func viewDidLoad() {
let provider = CXProvider(configuration: CXProviderConfiguration(localizedName: "My App"))
provider.setDelegate(self, queue: nil)
let controller = CXCallController()
let transaction = CXTransaction(action: CXStartCallAction(call: UUID(), handle: CXHandle(type: .generic, value: "Pete Za")))
controller.request(transaction, completion: { error in })
}
func providerDidReset(_ provider: CXProvider) {
}
}
答案 0 :(得分:1)
您不能将系统调用屏幕显示在已接受呼叫的前面。您必须自己提供UI。如果电话已锁定并且收到VoIP呼叫,则会显示系统呼叫屏幕;或者,如果您有1个VoIP和1个常规呼叫,并且在两者之间进行切换,则会显示系统呼叫屏幕。