質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

1918閲覧

iOSアプリで自動ログインを実現する方法

_CHO

総合スコア16

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2017/11/29 07:27

編集2017/11/29 07:32

iOSで自動ログインが可能なSNSアプリを実現する方法を考えているのですが、いいやり方が思いつきません。

やりたいこととしては、

1.アプリをインストールしたらメールアドレスやSNS認証なしですぐにユーザー登録ができる。
2.アプリをアンインストールした後、再インストールしても、ユーザー情報が残っている。
3.iPhoneの機種変でアカウントの移行に対応できる。

このような機能です。
実際にこれが出来ているようにみえるのが、以下のようなアプリです。

ダイエットや勉強の三日坊主を防止-みんチャレ

これをどうやって実現しているのかを教えて下さい。
2番については、初めてログインする際に、iPhone固有の識別番号を取得して、それをサーバーに保存してやることで実現できるかと思ったのですが、以下のサイトによると、iPhoneでアプリを削除しても変更されないことが保証されている識別番号がないようです。

AndroidおよびiOSでの端末識別子について

IDFV(Identifier For Vender)が使えるかと思ったのですが、同一ベンダーアプリが全部削除されると変更されるとのこと。

上記のアプリはどのようにしてこれを実現しているのでしょうか?

ちなみに、以下の記事ではIDFVを使っているようですが、これは正しいやり方なのでしょうか?

安易にiOSのUUIDをアカウント認証ロジックに使ってはいけない

どなたかアドバイスをお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

現状多いのがこれですよ。

・インストール時にピンコード(UUID的なもの)を発行。サーバとローカルストレージ(UserDefaults)に保存
・アプリ内に「機種変時のアカウント引き継ぎ」メニューを用意。大抵はメアドとパスワードを登録させる。

2.アプリをアンインストールした後、再インストールしても、ユーザー情報が残っている

これに関してはキーチェーン(Security.framework)が必要ですが、RealmのkishikawaさんがラップしてくれたKeycahinAccessを利用するのが良いと思います。

投稿2017/11/30 03:31

fromageblanc

総合スコア2724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_CHO

2017/11/30 07:07

回答ありがとうございます。 Keychainに保存するというやり方がありましたね。 Keychainに保存してやれば、UserDefaultsには保存してやる必要はないという認識ですがあっているでしょうか?
guest

0

UserDefaultsに保存したデータをiCloudに同期してはいかがでしょうか。

[Swift] iCloudと local(UserDefaults)を同期するライブラリ

例えば、初回起動時にユーザIDがiCloud、UserDefaultsから取得できなかったら
新規にUUID等で一意のIDを取得し、UserDefaults、iCloudに保存し、それを
使いまわせばよいと思います。
アプリをアンインストールしてもAppIDが変わらなければiColudから取得できるはずです。

投稿2017/11/29 16:00

nakasho_dev

総合スコア2655

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問