Последовательность запуска приложения
До main (pre-main)
- Пользователь тапает иконку, ядро создаёт процесс и загружает бинарь.
- dyld загружает динамические библиотеки (системные — из shared cache, быстро; встроенные в приложение
.framework— каждая стоит времени), связывает символы, выполняет статические инициализаторы и ObjC+load. - Запускается точка входа. В UIKit-приложении это
@mainнаAppDelegate(или явнаяUIApplicationMain), в SwiftUI —@main struct MyApp: App.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep