Swift 更改 AppDelegate 中的 rootViewController 以呈現主要或登入入門流程

首先,當你處理多個流時,這就是可以有效使用 Storyboard 的地方。預設情況下,你的應用程式使用 Main.storyboard 作為主流。你的入職/替代流程可以包含在輔助故事板中,例如。Onboarding.storyboard

這有許多優點:

  • 在開發人員團隊中,每個使用者流的工作可以分開
  • 更清晰的原始碼控制(git)
  • 關注點分離

當你的應用程式啟動時,你可以確定應該顯示哪個流程。這個邏輯可以包含在你的 AppDelegate 中:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    let isFirstRun = true // logic to determine goes here
    if isFirstRun {
        showOnboarding()
    }
    return true
}

為了展示 Onboarding 流程,值得考慮一下,一旦使用它的人完成了旅程,你將如何處理解僱它的體驗,並且這對於你嘗試建立的內容在語義上是正確的。

處理辦法:

兩種主要方法是:

  1. 交換 App 主視窗的根檢視控制器
  2. 將 Onboarding 流作為模態旅程呈現,與主流重疊。

這個的實現應該包含在 AppDelegate 的擴充套件中。