0

Digits for iOS は初めてです。認証部分が機能するようになったので、サインインをアプリの残りの部分と統合しようとしています。

本当に困惑することの 1 つは、Cannonball では Initial View Controller がメイン画面であることです。ただし、キャノンボールを実行すると、最初に表示される画面はサインイン画面です。

ナビゲーション コントローラーからサインインへのセグエが見当たりません。また、テーマ チューザー ビュー コントローラーのコードを確認しましたが、サインインのビュー コントローラーへの参照は見当たりません。

では、サインイン画面は実際にどのように実行されるのでしょうか? その論理はどこで起こっていますか?ありがとう。

ここに画像の説明を入力

4

1 に答える 1

0

答えは、 AppDelegate.swift ファイルがロジックを実行することです。以下のコードは、キャノンボールからコピー/貼り付けされたものです。先に進んでコメントを追加しました (一部はキャノンボールに付属しています)。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
    // Developers: Welcome! Get started with Fabric.app.
    let welcome = "Welcome to Cannonball! Please onboard with the Fabric Mac app. Check the instructions in the README file."
    assert(NSBundle.mainBundle().objectForInfoDictionaryKey("Fabric") != nil, welcome)

    // Register Crashlytics, Twitter, Digits and MoPub with Fabric.
    //Fabric.with([Crashlytics(), Twitter(), Digits(), MoPub()])
    Fabric.with([Digits()])

    // Check for an existing Twitter or Digits session before presenting the sign in screen.
    // Detect if the Digits session is nil
    // if true, set the root view controller to the Sign In's view controller
    if Twitter.sharedInstance().session() == nil && Digits.sharedInstance().session() == nil {
        //Main corresponds to Main.storyboard
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        //Sign In's View Controller
        let signInViewController: AnyObject! = storyboard.instantiateViewControllerWithIdentifier("SignInViewController")
        //Set the UIWindow's ViewController to the SignIn's ViewController
        window?.rootViewController = signInViewController as? UIViewController
    }
    return true
}
于 2015-07-27T05:13:50.090 に答える