Cykl życia aplikacji
: Cykl od uruchomienia do zamknięcia aplikacji
: Użyteczność poprzez zarządzanie pamięcią lub danymi ⬆️ Bezpieczeństwo można przetwarzać
UIApplication, AppDelegate
sytuacja: definiuje funkcje, które obiekt AppDelegate odbiera komunikaty wysyłane z obiektu UIApplication i wykonuje każdą z nich
Nie działa: stan, w którym aplikacja nie jest uruchomiona.
Nieaktywny: stan, w którym aplikacja działa, ale nie są odbierane żadne zdarzenia.
Aktywny: stan, w którym aplikacja jest uruchomiona i występuje zdarzenie.
W tle: stan, w którym aplikacja działa w tle, ale wykonywany kod
Zawieszony: stan, w którym aplikacja działa w tle i nie uruchamia żadnego kodu
funkcje delegowania w pliku AppDelegate.swift
application(_:didFinishLaunching:) Run when the app first starts
applicationWillResignActive: - Executed when the app is moved from active to inactive
applicationDidEnterBackground: - Run when the app is in the background
applicationWillEnterForeground: - Executes when the app is moved from the background to the foreground (not yet running in the foreground)
applicationDidBecomeActive: - When the app is active and running
applicationWillTerminate: - Run when app closes
Delegat sceny
Aby dobrze reagować na funkcję wielu scen obsługiwaną od systemu iOS 13 wzwyż
Delegat aplikacji / Delegat sceny
AppDelegate
1. func application(_: didFinishLaunchingWithOptions: ) -> Bool
W tej metodzie przebiega konfiguracja aplikacji.
2. func application(_: configurationForConnecting:options: ) -> UISceneConfiguration
Ta metoda jest wywoływana, gdy aplikacja chce udostępnić nową scenę/okno.
3. func application(_: didDiscardSceneSessions: )
Wywoływana, gdy użytkownik opuszcza scenę.
Delegat sceny
1. scene(_: willConnectTo: opcje: )
Jest to pierwsza metoda wywoływana w cyklu życia UISceneSession. Tworzy pierwszy widok zawartości, nowy UIWindow i ustawia rootViewController okna.
(okno: rzutnia, w której działa aplikacja)
2. sceneWillEnterForeground(_ :)
Wywoływana, gdy scena przechodzi na pierwszy plan.
1) Kiedy tło → pierwszy plan
2) Kiedy staje się aktywne po raz pierwszy
3. sceneDidBecomeActive(_ :)
Wywoływana przy przejściu z nieaktywnego → aktywnego.
4. sceneWillResignActive(_ :)
Wywoływana, gdy jest aktywna → przejścia nieaktywne.
np. sytuacja przełączania aplikacji
5. sceneDidEnterBackground(_ :)
Wywoływana, gdy scena przechodzi z pierwszego planu do tła.
Zapisz informacje o stanie, aby można je było przywrócić, gdy następnym razem wrócisz na pierwszy plan, zapisz dane lub zwróć udostępnione zasoby.
6. sceneDidDisconnect(_ :)
Kiedy scena wchodzi w tło, istnieje możliwość, że system rozłączy się, aby zwolnić zasoby.
(rozłącz: sesja jest rozłączona / nie oznacza, że aplikacja została zakończona )