FlutterをiOSでリリースする場合とかに署名用の証明書が必要。 いつも調べてるので、まとめてみたときの備忘録(´ω`)
開発/リリース向け
開発やリリースのために、証明書などがいろいろ必要
Apple Developerコンソールでポチポチする感じ
証明書署名リクエストの作成
作成する証明書に付与するアカウント情報
- キーチェーンを起動
- メニューの「キーチェーンアクセス」>「証明書アシスタント」>「認証局に証明書を要求」を選択
- 「証明書アシスタント」ダイアログで、「ユーザのメールアドレス」フィールドにEメールアドレスを入力
- 「通称」フィールドのわかりやすい名前を入力
- 「CAのメールアドレス」フィールドは空白のまま
- 「ディスクに保存」を選択し、「続ける」をクリック
CertificateSigningRequest.certSigningRequest
が保存される
これを使って、各種証明書(Certificates)を作成するっぽい
Certificates(証明書)の作成
Certificate(証明書)は主に2種類
- Development: 開発用。
Apple Development
など - Distribution: 配信用。
Apple Distribution
など
権限の範囲によっていろいろあるけど、
とりあえず、Apple Development
を作成する
- Certificates | Certificates, Identifiers & Profilesに移動
Apple Development
を選択- 上記で作成した
.certSigningRequest
を添付 - 証明書(
development.cer
)をダウンロード - 証明書をダブルクリックして、ローカルの
詳しい証明書の種類やドキュメントはこのあたり
- 証明書タイプ - リファレンス - アカウント - ヘルプ - Apple Developer
- 開発用プロビジョニングプロファイルを作成する - プロファイルを管理する - アカウント - ヘルプ - Apple Developer
Identifier(識別子/アプリID)の作成
アプリのIDをあらかじめ登録しておく必要がある。
このIdentifierに対して、Sisn In with Apple
やPush Notifications
などの
利用する機能/サービスを設定する感じっぽい。
Descriptionが、AppleIDの管理画面で表示される
登録は以下から
ドキュメントはこのあたり
デバイスの登録
開発用の端末の登録が必要なので登録しておく
- Devices | Certificates, Identifiers & Profilesに移動
- デバイス名とデバイスID(UDID)を入力
- UDIDは、iPhoneをUSBで接続すると、Finderから確認/コピーできる
ドキュメントはこのあたり
Provisioning Profileの作成
プロビジョニングプロファイルは、今まで作成した、
Certificates / Identifier / Devicesをまとめたやつ
開発用と配信用のものが用意されている
Distribution | AdHoc
... アプリ配信用Development | iOS App Development
... 開発中のアプリ用
とりあえず、AdHocで作っておく
利用する証明書等を選んでいくと、.mobileprovision
をダウンロードできる
設定が完了すると、Xcodeの「Signing & Capabilities(署名と機能)」タブで利用できるようになる
AppleID認証向け
Google認証などがあると、AppleID認証もつけないといけない
公式ドキュメントだとこのあたり
- Apple を使用して認証する | Firebase
- Configure Sign in with Apple for the web - Configure capabilities - Account - Help - Apple Developer
- Create a Sign in with Apple private key - Configure capabilities - Account - Help - Apple Developer
- Create a private key to access a service - Manage keys - Account - Help - Apple Developer
Service IDの作成
FirebaseでSign in With Apple
を利用する場合、サービスIDが必要になる。
iOSの場合は不要。AndroidやWebでは必要
- Service IDの登録
- Service IDの設定
- 登録したServiceIDを選択して開く
Sign In With Apple
にチェックを入れて、Configure
を押下- Primary App IDを対象のAppIDに設定
- Domains and Subtomainsを設定(カンマ区切り)
<project-id>.firebaseapp.com
<project-id>.web.app
- Return URLsを設定
https://<project-id>.firebaseapp.com/__/auth/handler
- 秘密鍵の作成
- Keysから秘密鍵を作成する
- 利用するサービスを選択(後でEditできる)
AuthKey_<KEYID>.p8
をダウンロード&保存
- Firebase側にService IDを設定
- Xcode側の設定
- 「TARGETS > Info > URL Types」を開く
- 「URL Schemes」に
GoogleService-Info.plist
のREVERSED_CLIENT_ID
の値を貼り付け $(REVERSED_CLIENT_ID)
にして、devDebug.xcconfig
などに貼り付けてもOK
- 「URL Schemes」に
- ref: Apple プラットフォームで Google ログインを使用して認証する | Firebase Authentication
- 「TARGETS > Info > URL Types」を開く
以上!! ポチポチめんどくさいけど、これでできるようになったぞ(*´ω`*)