firebaseでログイン認証とプッシュ通知を設定する手順

Apple Developerにログインする。
https://developer.apple.com

「Certificates」メニューにて、iOS App Developmentを新規作成。

Create a New Certificateにて、キーチェーンアクセスで証明書を作成する。

証明書署名要求作成

キーチェーンアクセスはFinderのアプリケーション→ユーティリティの中にあります。Spotlightで「キーチェーンアクセス」と検索したらすぐに出ました。

メニューバーのキーチェーンアクセス→証明書アシスタント→認証局に証明書を要求 を選択

するとこんな画面が出ます。

  • Apple Developer Programに登録しているメールアドレスを入力
  • 通称は自分のわかりやすい名前を入力
  • CAのメールアドレスは空欄でOK
  • 要求の処理というところは「ディスクに保存」を選ぶ
  • 「鍵ペア情報を指定」にチェックを入れて
  • 続けるを押下。

名前と保存場所を自分がわかりやすいように選択して保存。

  • 鍵のサイズは2048ビットを選択
  • アルゴリズムはRSAを選択

で続ける

作成したものをアップロードし、「aps.cer」をダウンロード。これをキーチェーンアクセスにインポートする。

「Identifiers」メニューにて、「App IDs」を新規作成する。
Register a new identifierは「App」を選択。
Register an App IDはBundle IDを「jp.example.apps(例)」を設定する。
また、「Sign In with Apple」と「Push Notifications」「Associated Domains」にチェックをいれる。
その後、保存する。

「Profiles」メニューにて、iOS App Developmentを作成する。
「Select an App ID」での「App ID」は、作成したBundle IDを選択し、保存する。
「CertificateSigningRequest.certSigningRequest」をダウンロードし、xcodeの「Shigning & Capabilities」でインポートするか、自動設定を選択する。

「Keys」メニューにて、Key Nameを適当に設定し、「Apple Push Notifications service (APNs)」をチェックし、保存する。
保存後、「.p8」ファイルをダウンロードする。

firebaseにログインする。
https://console.firebase.google.com

プロジェクトを作成し、歯車アイコンからプロジェクトの設定に移動する。

「全般」ページにて、マイアプリに「Appleアプリ」「Androidアプリ」を作成する。

Bundle IDやチームIDを設定し、GoogleService-info.plistをダウンロードし、xcodeにインポートして設定する。

「Cloud Messaging」ページにて、Appleアプリでの設定で、「本番環境用 APNs 認証キー」をアップロードして設定する。具体的には、先ほど作成した「.p8」ファイルをアップロードする。
APNs 証明書は不要なので、そのままにする。

「Authentication」を追加し、「ログイン方法」ページを開く。プロバイダに「Apple」「Google」「匿名」あたりを有効にする。

以上で基本的に必要な設定が完了する。