2017-07-18 4 views
0

アプリを開くたびにView Controller(Touch ID/Passcodeのようなローカル認証用)を提示したいと思います。iOSでアプリを開いた後、View Controllerを表示するにはどうすればよいですか?

これを達成する確実な方法は何ですか?

私の現在のアプローチは、タブバーコントローラの参照を取得し、このビューコントローラをパスコード/タッチID用に提示することです。

ただし、アラートコントローラ(アラートまたはアクションシート)が表示されても機能しません。

これを実現する方法上の任意の提案?

ありがとうございました!

+0

アップルは、ユーザーがホームボタンを押したときに警告ビューを閉じることを推奨しています。アプリがバックグラウンドに送信されたときにそれらを却下すると、ソリューションが機能します。 – Pochi

+0

OK、それは良い、あなたは同じ – raghvendra

+0

を説明しているリンゴのドキュメントへのリンクを投稿することができますhttps://developer.apple.com/ios/human-interface-guidelines/ui-views/alerts/下に「ホームボタンでアラートをキャンセルできるようにする」 – Pochi

答えて

2

下記の手順:

1)あなたのストーリーボードまたはXIBに1つの空のViewControllerを取ります。

2)initalViewControllerとして割り当てます。スプラッシュ画面が消えるとすぐに表示されます。

3)あなたがしたいことをパスコード/タッチIDのものにすることができます。

4)その後、通常のアプリケーションフローに進むことができます。

は、それはあなたを助ける:)

+0

私の初期ビューコントローラは、ユーザがログインしているのか、ログインしたいのか、アカウントを作成したいのかを判断するための単純なコントローラです。ユーザーのログイン後、Tabbarコントローラーに移動します。その後、最初のビューコントローラは、あなたがアプリを削除するまで画像には入りません。 – raghvendra

+0

あなたは何をしたいですか?ユーザーがログアウトすると、初期View Controllerまたはダイレクトログインコントローラを開く必要がありますか? – Nirmalsinh

+0

私はView Controllerを表示して、続行する前にユーザーに認証を要求します。これはユーザーがアプリを開くたびに発生します。 – raghvendra

0

一つのアプローチは、「、アプリが起動したときに使用がタッチIDまたは良いcredsをいずれかを提供した後、あなたは常に、ロック画面が表示されます、AppDelegate didFinishLaunchingWithOptionsからUIApplication.shared.keyWindow.rootViewControllerにあなたをこのLocalAuthentication Controllerを提示することができウィンドウ上にtabBarControllerをクリアしてください。

0

TouchId/Authentication view controllerstoryboardに設定してください。storyboard reference id

​​を初期化し、アプリがフォアグラウンド(applicationDidBecomeActive(_:))に来たときにそれを提示し

func applicationDidBecomeActive(_ application: UIApplication) { 
    let storyboard = UIStoryboard(name: "storyboardname", bundle: nil) 
    let authenticationVC = storyboard(withIdentifier: "authenticationvc reference id") 
    UIApplication.shared.keyWindow?.rootViewController?.present(authenticationVC, animated: true, completion: nil) 
//After successful authentication dismiss the view and go with normal flow. 
} 
+0

ありがとうございました。しかし、それは動作しません。私は、rootViewControllerが表示されているView Controllerの階層にないというエラーを受け取ります。モーダルのようなアクションシートまたはアラートビューが表示されているとき – raghvendra

0

だけで認証画面初期ビューコントローラを作成し、認証が完了した後、それはあなたのメインのランディングページにセグエています。

関連する問題