Middle
Jaký je proces zpracování události, když uživatel klikne na ikonu aplikace?
sobes.tech AI
Odpověď od AI
- Uživatel klepne na ikonu aplikace na domovské obrazovce.
SpringBoard(systémová aplikace pro správu domovské obrazovky) zachytí událost dotyku.SpringBoardurčí, která aplikace odpovídá stisknuté ikoně.SpringBoardodešle IPC zprávu (Inter-Process Communication) procesulaunchd.launchdje systémový proces odpovědný za spuštění jiných procesů. Obdrží žádost o spuštění aplikace.launchdzkontroluje přístupová práva, podepíše aplikaci.launchdvytvoří nový proces pro aplikaci.- Nejprve se ve vytvořeném procesu spustí funkce
main(). - Uvnitř
main()je obvykle volána funkceUIApplicationMain(). UIApplicationMain()provádí následující kroky:- Vytvoří objekt
UIApplicationnebo jeho podtřídu. - Vytvoří objekt delegáta aplikace (který implementuje protokol
UIApplicationDelegate), pokud je uveden. - Vytvoří hlavní smyčku zpracování událostí (
run loop). - Načte hlavní Storyboard nebo xib soubor (pokud je uveden v
Info.plist). - Vytvoří hlavní okno (
UIWindow) a kořenový řídicí prvek (root view controller). - Zavolá metodu
application(_:didFinishLaunchingWithOptions:)delegáta aplikace. - Spustí hlavní smyčku zpracování událostí, čímž připraví aplikaci na interakci s uživatelem.
- Vytvoří objekt
- Aplikace se stává viditelnou a připravenou k použití.