0

下面的代码是用来打开一个face time并建立一个连接,但是调用结束后如何进行某个操作,“completionHandler”只是用来知道连接是否建立

UIApplication.shared.open(url, options: [:],completionHandler:nil)

喜欢

UIApplication.shared.isClosed()

打开的 URL 是 facetime URL

4

1 回答 1

0

如果您是该应用程序的开发人员,则不可能知道第三方应用程序的状态(在您的情况下为 facetime),您可能可以创建一个应用程序组来存储有关应用程序状态的一些信息,并且据我所知知道,FaceTime 没有公共 API。

在您的情况下,一种解决方法是观察您的应用程序何时再次处于前台并执行您的操作

您可以使用 AppDelegate 的方法:

或者你可以观察那些通知

这是您的视图控制器的外观示例

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        NotificationCenter.default.addObserver(self, selector: #selector(appDidBecomeActive),
                                               name: UIApplication.didBecomeActiveNotification,
                                               object: nil)
    }

    private func openFaceTime() {
        guard
            let faceTimeURL = URL(string: "facetime://user@example.com")
            else { return }
        UIApplication.shared.open(faceTimeURL, options: [:], completionHandler: nil)
    }

    @objc private func appDidBecomeActive() {
        // do your stuff
    }

}
于 2020-05-11T07:03:33.247 回答