酢ろぐ!スマートフォン用の表示で見る酢ろぐ!カレーが嫌いなスマートフォンアプリプログラマのブログ。開発-iOSいまどきのiOSアプリでのログイン画面ってどんなかんじなんだろう?と考えてみた。本記事ではデザイン的な話ではなくて、内部の実装的な部分について言及しています。(これが一番手間がかかる)で、よいのではないかと思います。本記事では、OAuth(SFSafariViewControlelr)を使ってのログインについては取り上げません。Appleについても言及しません。11への移行している感じです。あるログイン画面とその実装よくあるログイン画面はこんな感じですね。ログイン画面に関しては、開発者・ユーザーともにこのような(普遍的な)イメージがあるのではないかと思います。「ログインする」ボタンのほかに「パスワードを忘れた時はこちら」ボタンがあったりなかったりくらいかなぁと。}}DispatchQueue.main.asyncAfterの部分は、WebAPIを呼び出しているイメージです。いまどきのログイン画面とは僕が理想とするログイン画面は、PCブラウザのログイン画面のような感じです。ChromeやSafariで対応しているように、サービスに初回ログインしたときにユーザーIDとパスワードを記録しておいてもらいたい。二度目からログインする際には、OS標準のパスワードマネージャーから、任意のログイン情報を選択できるようにしたい。使えば、パスワードを記憶することができます。Documentationたとえば前述のログイン処理に追加するのであれば、下記のようにSecAddSharedWebCredentialを使ってログイン情報を保存します。Credentialsについて書いた記事があります。11からはパスワードマネージャーの利用できるようになりました。サポートされていませんでした。12になってからは、パスワードマネージャーの利用シーンが広がりました。12でのパスワードマネージャー機能の強化を受けて、設定アプリの「パスワードとアカウント」の「パスワードを自動入力」をONにしているユーザーは恩恵を受けられるようになりました。ログイン画面での実装ログイン画面では、同一画面内に以下のようにtextContentTypeを指定しているUITextFieldがあれば、ソフトウェアキーボードの上にパスワードマネージャーを呼び出すショートカットが表示されます。.password実装的にはとても簡単ですね。11以降ですのでご注意ください。Domainsの設定が必要です。Domainsの設定が、ちゃんとできているかどうかわからず困った。Developerのポータルページで、アプリが使っているTeamIDを調べてようやく設定ができた。なるトラブルシューティング実際にアプリに実装してみて、かなりハマったので知見を残しておきます。新規会員登録またはパスワードリセット画面のケースで、iCloudキーチェーンへのパスワードの追加/更新は下記の条件で実行されます。←←←ここ注目!!!UIの変更など、実装自体はスムーズに進みましたが、「パスワードが保存されない」「キャンセル(閉じる)ボタンを押したら、違うパスワードが勝手に保存された」で大いにハマってしまいました。「強力なパスワードを使用する」が出るのにパスワードが保存されないiCloudキーチェーンに保存されるときには「画面を閉じる」というアクションが必要です。現在開発中のアプリでは、起動時にログイン状態によって表示する画面を切り分けています。MainViewControllerを設定しています。実行していましたが、これでは画面を閉じたことにならずログイン情報が保存されませんでした。MainViewController()を実行している}下記のように、画面を一旦閉じてiCloudキーチェーンへパスワードの保存をうながすようにすることで、パスワードを保存した上でMainViewControllerへ遷移させるようにしました。以降におこなわれるということを理解しておく必要があります。キャンセル(閉じる)ボタンを押したら、違うパスワードが勝手に保存された新規登録画面/パスワードリセット画面で「強力なパスワードを使用する」を出したあとに、キャンセルボタンを押して画面を閉じると、間違ったパスワードが勝手に保存されてしまいます。画面を閉じる前にUITextFieldのtextプロパティにnilを設定します。Domainsの設定に失敗しています。アプリを一旦削除して、再度インストールしてください。方向性を定めず、その時興味のあるネタを書いています。嫌いな食べ物はカレーです。R3にDFUモードでプロ...注目記事はてなブログをはじめよう!ch3cooh393さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。