設定編の続きです。
すべてのサービスの設定が完了している想定で話を進めます。
iOS Swiftを選択します。プロジェクトファイルの生成が開始します。少し時間がかかります。
生成が無事完了すると、Download iOS Swift source packageが表示されます。
クリックしてzipアーカイブをダウンロードします。

Zipを展開します。ソースコード、ライブラリ、ドキュメント一式が入っています。

READ_ME/index.htmlを開くと、ヘルパークラスのAPIドキュメントが見れます。

Lambdaをラップした、AWSCloudLogicクラスとか。

ダウンロードしたプロジェクトをXcodeで開きます。
実行します。
(delegateの指定にselectorを使用してないため、警告がでてますが、とりあえず動きます。)
TableViewで、追加したサービスのサンプルアプリが一覧で表示されます。

この時点ではゲストログインでアプリを実行してます。
Facebookアカウントでログインしてみましょう。
右上のSign-Inをタップします。

ログインすると、こんな感じでFacebookからユーザ情報を引張てこれます。

Demo User Profile Dataをタップします。

ここでSign-Outすると、デフォルトのオレンジ色のテーマに戻ります。

AWSコンソールから、Congnito > Identity Pool > Identity Browswerを開きます。
Linked loginsが1にカウントされてるIdentityIDがFacebookでログインしたユーザになります。
それ以外の0は、ログインせずにゲストで利用したユーザのIDになります。

ユーザの詳細を見ると、先ほど設定したカラーテーマの情報がキーバリューで登録されているのがわかります。
これは、CognitoSyncといい、IdentityIDに紐付いたサーバサイドのデータストアになります。
これにより、同一ユーザが異なるデバイス、iPhone, iPad等でログインしても、サーバサイドにユーザの設定情報を保持することで、どこからログインしても設定を同じにすることができます。

より複雑なデータを持たせる場合は、NoSQL(DynamoDB)を使用したり、Cloud Logic(Lambda)から、データベースサーバに接続したり、外部システムにAPIで呼び出したりすることになります。



