作为iOS开发人员,了解应用程序处于前台还是后台很重要,我们需要处理多个事件,例如后台下载,应用程序进入前台时的事件。
在这里,我们将看到如何检查应用程序是在后台还是在前台。
我们将为此使用通知中心,
要了解更多信息,请参考Apple文档。
https://developer.apple.com/documentation/foundation/notificationcenter
一种通知分派机制,可将信息广播到注册的观察者。我们将向其添加观察者,并将获得呼叫。
步骤1-打开Xcode→新建项目→单视图应用程序→让我们将其命名为“ ForegroundBackground”
步骤2-在viewDidLoad中创建通知中心的对象
let notificationCenter = NotificationCenter.default
步骤3-为背景和前景添加观察者
notificationCenter.addObserver(self, selector: #selector(backgroundCall), name: UIApplication.willResignActiveNotification, object: nil) notificationCenter.addObserver(self, selector: #selector(foregroundCall), name: UIApplication.didBecomeActiveNotification, object: nil)
第4步-实现选择器方法
@objc func foregroundCall() { print("App moved to foreground") } @objc func backgroundCall() { print("应用已移至后台!") }
步骤5-放置断点并运行应用程序。
完整的代码
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let notificationCenter = NotificationCenter.default notificationCenter.addObserver(self, selector: #selector(backgroundCall), name: UIApplication.willResignActiveNotification, object: nil) notificationCenter.addObserver(self, selector: #selector(foregroundCall), name: UIApplication.didBecomeActiveNotification, object: nil) } @objc func foregroundCall() { print("App moved to foreground") } @objc func backgroundCall() { print("应用已移至后台!") } }