强制终止后未调用AppDelegate方法

时间:2018-01-30 10:09:00

标签: ios swift appdelegate

我正在试图弄清楚AppDelegate方法是如何工作的。

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        print("didFinishLaunchingWithOptions")
        return true
    }

    func applicationWillResignActive(_ application: UIApplication) {
        print("willResignActive")
    }

    func applicationDidEnterBackground(_ application: UIApplication) {
        print("didEnterBackground")
    }

    func applicationWillEnterForeground(_ application: UIApplication) {
        print("willEnterForeground")
    }

    func applicationDidBecomeActive(_ application: UIApplication) {
        print("didbecomeActive")
    }

    func applicationWillTerminate(_ application: UIApplication) {
        print("willTerminate")
    }
}

第一次启动应用时似乎正常工作。 但是一旦强行终止应用程序,那么这些方法之后就不会被调用了。

有没有办法在强行终止应用程序后调用这些方法?

  • xcode 9.2
  • swift4
  • 模拟器上的ios11.2

1 个答案:

答案 0 :(得分:1)

应用启动时始终至少调用func application(_:didFinishLaunchingWithOptions)。是什么让你认为不是?

请注意,在您强行终止正在运行的应用后,您可能拥有的调试器连接已终止,并且新启动的应用不会自动重新连接到您的调试器。