首页 > 解决方案 > 应用从死态进入前台时调用方法

问题描述

我试图在我的 iOS 应用程序中调用一个方法,只有当我从死状态进入它时,这意味着该应用程序没有在后台运行。我已经搜索过了,我想出了方法:

applicationWillEnterForeground:

但是当我在我的应用程序委托的这个方法中放置一些打印时,打印不会在任何时候被调用。具体来说,我想做的是调用一个服务来检查用户的令牌访问是否有效,所以我会向他展示登录视图或主页视图。

标签: iosswiftxcode

解决方案


您要求的应用程序委托方法是:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool

当应用程序完成启动时调用它,这发生在它以前不处于后台或挂起状态时。

也就是说,对于您的用例,我将其放入:

func applicationWillEnterForeground(_ application: UIApplication)

每当应用程序进入更适合此问题的前台时,都会调用此方法。如果它没有被调用(如你所建议的那样),我希望你没有正确声明该方法(完全按照上面的方式声明),或者你没有在 UIApplicationDelegate 上声明它。

有关完整的详细信息,包括如何处理 iOS 13+ 中的新场景代理(它们不同,并且与 UISceneDelegate 相关联),请参阅管理您的应用程序的生命周期


推荐阅读