Sign in with Appleを実装する際に確認すること

概要

Sign in with Apple(Sign up with Apple)を実装して、Appleに審査に提出する上で注意すべきことがいくつかあったので、その内容と対応方法を備忘としてまとめておく

ボタンの実装方法

ASAuthorizationAppleIDButtonを使用する

https://developer.apple.com/documentation/authenticationservices/asauthorizationappleidbutton

カスタム(自前でボタンを作成する)

https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/introduction/

ボタンを自前(カスタム)で作成する場合の日本語表記に関して

  • 日本語表記する場合はそれぞれ、以下のようにローカライズしないと審査時にリジェクト対象となる
    • Appleでサインイン」
    • Appleでサインアップ」

登録フォームの仕様を検討する際の注意点

Appleから提供される情報をユーザーに再度入力させることはNG

  • Appleから提供される個人情報(電話番号,名前など)はデフォルト値として入力フィールドに設定する必要がある(しないと審査時にリジェクト対象となる)
  • 初回の認証時のみ個人情報が提供されるので、サービス側で登録が完了する前にセッションが切れた場合の対応を考慮する必要がある
    • 認証が完了した時点でキーチェーンに保存しておくなど

テストする際に考慮すべきこと

  • 「初回の認証時のみ個人情報が提供される」ことから、テストする場合はアプリに対するApple IDの使用をリセットする必要がある
    • 「設定」→「パスワードとセキュリティ」→「APPLEでサインイン」→「アプリ名」→「Apple IDの使用を停止する」からAppleで認証状態をリセットすることが可能