在暂停应用程序状态时,是否有任何功能可以从多任务栏中查找何时终止应用程序?

时间:2019-05-22 10:31:57

标签: ios swift

当用户从应用切换器中删除应用后,我希望清除该应用中的数据,方法是将应用保留在后台约3至4小时,然后向上滑动即可。

是否有任何函数或委托可以知道何时终止应用程序而不会进入前台。

我希望在用户从应用切换器中杀死应用时打开登录页面。否则,它应该打开主页。

2 个答案:

答案 0 :(得分:3)

Swift解决方案:

在您的AppDelegate.swift文件中添加以下功能(如果不存在):

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // clean your apps data here
    cleanAppData()
    //show the login
    showLogin()
}

仅当应用程序是“冷启动”时才调用此功能。

这意味着:

  • 如果应用程序是首次启动的,则会被调用
  • 如果该应用被iOS“杀死”
  • 如果应用被用户“杀死”了
  • 如果应用程序在后台运行并再次打开,则不会调用

然后将以下功能(如果不存在)添加到AppDelegate.swift:

func applicationWillEnterForeground(_ application: UIApplication) {
    // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
    // show the homepage
    showHomePage()
}

仅当应用程序是“热启动”时才调用此函数,这意味着该应用程序之前是否在运行并由用户发送到后台。

答案 1 :(得分:0)

您可以将UIApplicationDelegate.applicationWillTerminate(_:)UIApplicationDelegate.applicationDidEnterBackground(_:)中的当前时间保存为用户默认值。当应用回到前台或正在启动时,您这次会从用户默认设置中读取内容。