Самый простой способ - поместить это в AppDelegate
. Для этого вы можете использовать функцию application(_:didFinishLaunchingWithOptions:)
.
Если вам нужно настроить многое, вы можете создать для этого отдельный класс «Координатор», а не загромождать AppDelegate
.
Использование с UIMainStoryboardFile в Info.plist
Если в Info.plist
установлена клавиша UIMainStoryboardFile
, главная раскадровка будет автоматически загружена AppDelegate. Затем будет инициализирован начальный контроллер представления перед вызовом application(_:didFinishLaunchingWithOptions:)
.
Решением для этого является удаление клавиши UIMainStoryboardFile
и загрузка раскадровки вручную следующим образом:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Do your setup here
let storyboard = UIStoryboard(name: "Main", bundle: nil)
guard let rootViewController = storyboard.instantiateInitialViewController() else {
fatalError("No intitial view controller configured in Main.storyboard")
}
window.rootViewController = rootViewController
window.makeKeyAndVisible()
return true
}