こんな感じ
Apple Developerに入ってる証明書やProvisioning Profileを自動作成 & 管理してくれるリポジトリです。
Contents 非表示
前提条件
Apple Developerに登録していて年間料金を払っていることが必要です (Appleに捧げるお布施)
リポジトリ作成
Githubで新規リポジトリを作成、名前はわかりやすいものにしましょう (ex: ios_certificatesとか)
証明書関連はもちろんPrivateなものなのでリポジトリもPrivateにしましょう。
一旦作成完了したらそのままでOKです。
対象のプロジェクトにFastlaneを入れる
対象のXcodeプロジェクトのディレクトリでターミナルを開き、以下を入力
fastlane init
1 ~ 4のどれがいいんだって聞かれるので好きなものを選択、その後もSchemeとかも聞かれたら選択する。
Apple Developerのサインイン
ターミナルからApple Develperにサインインするように求められるので、AppleIDとPWを入力
完了すると、デフォルトではAppfileとFastfileが自動で作成されます。
Matchの初期設定
以下を入力
fastlane match init
git
を選択して、序盤で作成したGitのリポジトリURLを貼る。
Matchのパスワードを設定できるので任意のものを設定しましょう、後でGithubのSecretsに登録するので忘れずに
そうするとfastlane
フォルダにMatchファイルが作成されるので、以下を埋めていく。
# Matchfile
# 使用するストレージモードの設定
storage_mode("git")
# 証明書のタイプを指定
type("development") # 証明書のタイプ: appstore, adhoc, enterprise, development から選択
# 証明書管理用のGitリポジトリURLを設定
git_url("<#URL#>")
# 使用するブランチを指定
git_branch("master")
# Apple Developer アカウントに対応するチームID (Developerコンソールで確認可能)
team_id("<#TEAMID#>")
# このMatch設定に対するアプリのバンドルIDを指定
app_identifier(["<#アプリのBundle Identifier#>"])
# Gitリポジトリにコミットする際のユーザー情報
git_full_name("<#Githubユーザ名#>")
git_user_email("<#メールアドレス#>")
# 新しいデバイス用に証明書を強制的に生成するオプション(必要に応じて)
force_for_new_devices(true)
Match PasswordをGithubに登録
対象のXcodeプロジェクトを管理しているリポジトリにMatchパスワードを登録します。
Settings
→ Secrets and Variables
→ Actions
を選択
New repository secretを押して、MATCH_PASSWORD
という名前で作成したパスワードを保存する。
証明書のインストール
下準備は完了したので、証明書などを入れていきましょう。
MatchFIleのtypeで指定する、development, adhoc, appstoreはそれぞれ違う役割を持ちます。
- development: 開発中に利用する証明書とプロビジョニングプロファイルを作成。デバッグ目的で、デバイスでの動作確認が可能。
- adhoc: 内部テスト用。App Store に提出せず、選択されたテストデバイスにのみアプリをインストールできる。
- appstore: App Store 配信用。リリース版の証明書とプロビジョニングプロファイルを作成し、アプリの公開を目的とする。
enterpriseもありますが個人利用なら無視でOKです。
必要なものだけ入れるのも良いですが、全部入れておいても損はないので全部入れておくのが吉です (多分)
まずはdevelopmentを指定している状態で、以下を実行
fastlane match development
adhoc、appstoreも同様に実行
fastlane match adhoc
fastlane match appstore
というか1タイプでも入れば自動でREADMEも更新されるのでそちらでも詳細は確認できます (英語ですが)
KeychainやApple DeveloperのCertificatesやProfilesを確認して、証明書が追加されていれば成功です。
これで証明書管理も楽になるのでぜひ取り入れておきましょう。