我想在我的应用每次从后台返回时显示一个密码提示(相信我,这很有意义,这并不烦人;它类似于1Password所做的事情)。
因此,每次应用进入前台或每10分钟时,我都需要显示一个ViewController。
我尝试了很多,但似乎无法正常工作。例如:
func applicationWillResignActive(_ application: UIApplication) {
print("called it")
}
func applicationDidBecomeActive(_ application: UIApplication) {
print("called it")
}
func applicationWillEnterForeground(_ application: UIApplication) {
print("called it")
}
这些方法根本不会在我的设备上调用。请注意,该应用程序仅适用于iOS 13。有一些我不理解的变化(场景?)。
有人有主意吗?
谢谢。
答案 0 :(得分:3)
您应使用通知中心。
NotificationCenter.default.addObserver(self, selector: #selector(showThePasswordViewController), name: UIApplication.didBecomeActiveNotification, object: nil)
添加此行代码后,可能会在您的主视图 viewDidLoad()方法中,您还需要一个名为 showThePasswordViewController()的函数或任何您想调用的函数。确保在添加观察者的同一视图中这样声明它:
@objc showThePasswordViewController() {
//your code to present it
}
不要因“ @objc”而气disc,这并不意味着您需要用Objective-C编写。还要记住,当添加观察者时,将函数名称写在 #selector 之后的括号中,而在上面的括号()中则没有这样的括号,如上所示。希望能帮上忙,汉斯。