下面的代码是用来打开面时和建立连接的,但是一旦调用结束,如何进行某项操作,"completionHandler "只是用来知道连接是否建立起来的
UIApplication.shared.open(url, options: [:],completionHandler:nil)
喜欢
UIApplication.shared.isClosed()
打开的网址是faceetime网址
如果你是第三方应用的开发者,是不可能知道该应用的状态的(在你的情况下是faceetime),你也许可以创建一个应用组来存储一些关于应用状态的信息,而且,据我所知,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://[email protected]")
else { return }
UIApplication.shared.open(faceTimeURL, options: [:], completionHandler: nil)
}
@objc private func appDidBecomeActive() {
// do your stuff
}
}