我正在使用SDK并尝试捕获应用终止Notification
。很容易将其作为(ex)NSNotification.Name.UIApplicationWillResignActive
self.resignActiveNotification = NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationWillResignActive,
object: nil,
queue: nil) { _ in
//something goes here and it works like a charm.
}
所以我希望有类似的终止行为:
self.terminateNotification = NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationWillTerminate,
object: nil,
queue: nil) { _ in
NSLog("%@",#function)
}
这个永远不会被召唤!
当然如果我放入AppDelegate
:
func applicationWillTerminate(_ application: UIApplication) {
//termination
}
它会工作,但由于我正在构建SDK,我不能拥有AppDelegate方法。有一种方法可以获得终止关闭调用吗?或者知道该应用程序即将终止的任何其他方式?
在Apple documentation中,您可以找到:
调用此方法后,该应用程序也会发布一个 UIApplicationWillTerminate通知给感兴趣的对象a 有机会回应过渡。
然而,这似乎已被打破
答案 0 :(得分:0)
这似乎对我有用:
init() {
NotificationCenter.default.addObserver(self,
selector: #selector(applicationWillTerminate(notification:)),
name: UIApplication.willTerminateNotification,
object: nil)
}
@objc func applicationWillTerminate(notification: Notification) {
// Notification received.
}
deinit {
NotificationCenter.default.removeObserver(self)
}