質問: iOSで自動ログインが可能なSNSアプリを実現する方法を考えているのですが、いいやり方が思いつきません。 やりたいこととしては、 1.アプリをインストールしたらメールアドレスやSNS認証なしですぐにユーザー登録ができる。 2.アプリをアンインストールした後、再インストールしても、ユーザー情報が残っている。 3.iPhoneの機種変でアカウントの移行に対応できる。 このような機能です。 実際にこれが出来ているようにみえるのが、以下のようなアプリです。 ダイエットや勉強の三日坊主を防止-みんチャレ これをどうやって実現しているのかを教えて下さい。 2番については、初めてログインする際に、iPhone固有の識別番号を取得して、それをサーバーに保存してやることで実現できるかと思ったのですが、以下のサイトによると、iPhoneでアプリを削除しても変更されないことが保証されている識別番号がないようです。 AndroidおよびiOSでの端末識別子について IDFV(Identifier For Vender)が使えるかと思ったのですが、同一ベンダーアプリが全部削除されると変更されるとのこと。 上記のアプリはどのようにしてこれを実現しているのでしょうか? ちなみに、以下の記事ではIDFVを使っているようですが、これは正しいやり方なのでしょうか? 安易にiOSのUUIDをアカウント認証ロジックに使ってはいけない どなたかアドバイスをお願い致します。
回答: 現状多いのがこれですよ。 ・インストール時にピンコード(UUID的なもの)を発行。サーバとローカルストレージ(UserDefaults)に保存 ・アプリ内に「機種変時のアカウント引き継ぎ」メニューを用意。大抵はメアドとパスワードを登録させる。 > > 2.アプリをアンインストールした後、再インストールしても、ユーザー情報が残っている > > > これに関してはキーチェーン(Security.framework)が必要ですが、RealmのkishikawaさんがラップしてくれたKeycahinAccessを利用するのが良いと思います。