19
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[iOS]Sign in with Apple ハマりそうなポイント

Last updated at Posted at 2019-10-01

2019/10/01時点

罠だらけだったので少しまとめます。
申し訳ありませんが全体的に自信薄なので裏を取ってほしいです。
ググったらすぐ出ることはあまり書きません。

追記:素晴らしい記事がありました、こちらでいいのでは?
https://qiita.com/mejileben/items/df79024ae93971643271
(上記の参照先 Yahoo!のスライドが非常に詳しいです)
https://www.slideshare.net/techblogyahoo/sign-in-with-apple-ios-idcon/83
https://developer.okta.com/blog/2019/06/04/what-the-heck-is-sign-in-with-apple

iOS13からで、Xcode11必須

Xcode11必須ということは、Macのアップデートも必須。
はい。

ソーシャルログインのみのアプリは必須(リジェクト対象)

ソーシャルログインってどこまで?みたいな話が6月ころにあったらしいですが、ガイドラインは改定され、概ね「全部だよ全部!」みたいな雰囲気です。
まだ判例が出ないと何とも言えないですけど。

iOS12はどうすればいいの?

ボタンを出さない対応で良いのではないか、という意見が多いです。

iOS12やAndroidやWebでも使いたかったらどうすれば良いのか

Sign in with Apple JSというものがあるそうです。
それでアプリから連携できるのかは未検証です。

iCloudに繋がっていないと使えない

「Apple IDでサインインしてください」というダイアログが出てきます。

1回認証したら、最初のメールアドレス共有/非共有の画面が出せなくなった

設定>Apple ID>パスワードとセキュリティ>Apple IDを使用中のApp>Stop Using Apple ID で完全にリセットできます。
https://support.apple.com/ja-jp/HT210426

あとは管理側からユーザーを削除できるらしいです(がまだ試せていません)

(ところでこのボタン、ユーザーが押したら以降ログインできなくなるんですよね?)

emailやfullNameが取得できるのは初回だけ

ASAuthorizationAppleIDProviderを使って、[.fullName, .email]と指定しても取れないようです ココ↓
https://forums.developer.apple.com/thread/119826
https://forums.developer.apple.com/thread/121496
Simulatorなら違う反応になるという声もありますね。

これはアプリを削除して再インストールしても変わらないので、keychainかなんかに保存しておかなきゃならないってことでしょうか?
もちろんuser識別子は取れます。でもuser識別子も変わるよって書いてるんですが🤔

メールアドレスが変わったらどうなるのか? → 不明、試しせていません

メールアドレスに依存するな、って言われてる感じがしますねこれ。ユーザーが非共有を設定したらダミーが返ってくるわけですし。

ちなみに同じAppleIDを使用している別の端末で試しても初回状態にはなりませんでした。

userが1回認証を完全に切った後、再度同じユーザーとしてログインできる?

できてしまいます。これはuserIDが返ってくるためです。

ですが、ASAuthorizationAppleIDCredentialには

The identifier will remain stable as long as the user is connected with the requesting client. The value may change upon user disconnecting from the identity provider.

と書かれているので、何かしらのタイミングで変わるのだと思います。
逆に、今のユーザーを破棄して再作成というのは難しそうです。

所感

必須ではないアプリは少し情報が出揃うまで待ったほうがいいかもしれません。
問題は必須になるアプリですね。
新規で出すものは既に必須ですし、継続のものも2020年4月までに必要です。
閃いたんですが、メール認証機能を入れたらSign in with Apple回避できるんじゃないですかね?!(逃げ恥)

ユーザー目線での使い勝手は良さそうです。ボタンを押すだけなので。
また特にSNSをあまりやってない人の存在を無視しなくて良くなります。

19
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?