Мне, наконец, удалось отобразить то, что я хочу, просмотрев несколько постов и веб-сайт, на котором у меня кровоточат глаза.
Прежде всего, я считаю важной деталью то, что мне нужен viewControllerдля отображения в NavigationController, но он просто просит добавить еще одну строку к решению, которое мы могли бы найти для моей первоначальной проблемы.
В моем storyBoard точка входа настроена на приложение, которому принадлежит кодниже (мой OnboardingPage).
Так вот решение:
if let curUser = loadAppUser() {
os_log("User found, loading...", log: OSLog.default, type: .debug)
appUser = curUser
let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let homePageVC: UIViewController = mainStoryBoard.instantiateViewController(withIdentifier: "homePageViewController") as UIViewController
let navHomePageVC = UINavigationController(rootViewController: homePageVC)
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = navHomePageVC
self.window?.makeKeyAndVisible()
} else {
os_log("No user found, creating a new one...", log: OSLog.default, type: .debug)
saveAppUser()
}
И это работает нормально.
Для людей, читающих это, я нашел решение, посмотревдля другого способа выполнения моих потребностей.Фактически это решение работает, но я взял совершенно другой угол, играя с Appdelegate и функцией первого запуска (найдено здесь ).Я просто проверяю и сохраняю на applaunch, если это первый запуск, затем я изменяю rootViewController моего приложения, чтобы отображать экраны запуска только при первом запуске.
В этом решении точка входа установлена наhomePage (отображается после OnBoardingPage) так сильно отличается от первого решения.