#ios #iphone
#iOS #iPhone
Вопрос:
Кто-нибудь может рассказать, как ОС вызывает приложение в iOS.
Пользователь нажимает на значок -> Вызванная функция UIApplicationMain() —> Завершила запуск вызванного.
Это последовательность? Я пытался выполнить поиск, но не получил никакого четкого объяснения.
Комментарии:
1. Посмотрите на это: developer.apple.com/library/content/documentation/iPhone /…
Ответ №1:
Когда ваше приложение запускается, оно переходит из состояния «Не запущено» в активное или фоновое состояние, ненадолго переходя в неактивное состояние. В рамках цикла запуска система создает процесс и основной поток для вашего приложения и вызывает основную функцию вашего приложения в этом главном потоке. Основная функция по умолчанию, которая поставляется с вашим проектом Xcode, быстро передает управление платформе UIKit, которая выполняет большую часть работы по инициализации вашего приложения и подготовке его к запуску.
На рисунке показана последовательность событий, которая происходит при запуске приложения на передний план, включая вызываемые методы делегирования приложения.
Для получения более подробной информации посмотрите это: https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html
Комментарии:
1. можете ли вы рассказать мне, что происходит, когда пользователь нажимает на значок и перед вызовом main (). Как ОС определяет, какое именно приложение запускать?
2. @BabluJoshi Это работа операционной системы, и она идентифицирует приложение, используя его идентификатор пакета. У нас нет доступа к этому уровню.
3. Я хочу знать на уровне ядра, что именно происходит.
4. Ядро iOS — это ядро XNU Darwin. en.wikipedia.org/wiki/IOS#Kernel Затем следуйте ответу @ParthAdroja.