Какая функция вызывается, когда приложение iPhone загружается снова после завершения? - PullRequest
0 голосов
/ 29 марта 2020

Я пытался выяснить, какая функция вызывается после завершения работы вашего приложения, а затем снова загружается. Насколько я понимаю, didFinishLaunchingWithOptions вызывается только при первой загрузке и после любых обновлений. Какой из них вызывается, когда вы загружаете его второй, третий раз после завершения?

Я не могу проверить операторы печати, потому что когда вы завершаете работу в симуляторе, на консоль больше ничего не выводится

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    window = UIWindow()
    print("App Launched for the first time")
    return true
}

func applicationWillResignActive(_ application: UIApplication) {
    print("Will Resign Active")
}

func applicationDidBecomeActive(_ application: UIApplication) {
    print("Did Become Active")
}

func applicationDidEnterBackground(_ application: UIApplication) {
    print("App Entered Background")
}

func applicationWillEnterForeground(_ application: UIApplication) {
    print("App Entered Foreground")
}

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

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Насколько я понимаю, didFinishLaunchingWithOptions вызывается только при первой загрузке и после любых обновлений.

Тогда ваше понимание неверно. Он вызывается каждый раз при запуске приложения.

Какой из них вызывается при загрузке второй, третий раз после завершения?

Это будет didFinishLaunchingWithOptions.

Однако давайте различим guish, что именно означает «нагрузка». Я говорил о том, что происходит, когда приложение запускается с нуля. Но также возможно, что приложение будет просто go в фоновом режиме (чтобы пользователь мог использовать другое приложение), а затем вернется на передний план. В этом случае приложение не «загружается»; он никогда не был «выгружен», поэтому он просто начинает с того места, где остановился. В этом случае вы получите applicationDidBecomeActive - за исключением собственного приложения iOS 13, где соответствующее событие отправляется делегату .

Однако ваш заголовок вопроса говорит, что приложение "загружает" после завершения . В таком случае, да, didFinishLaunchingWithOptions называется.

0 голосов
/ 30 марта 2020
func applicationDidEnterBackground(_ application: UIApplication) {
    print("App Entered Background")
}

Выше будет звонить, когда вы закрываете приложение даже из стека, после этого ниже будет звонить

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

И это будет звонить, когда вы нажмете кнопку домой или перейдете в homeScreen

func applicationWillResignActive(_ application: UIApplication) {
    print("Will Resign Active")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...