プロジェクト内でFastlane matchを正しく使えるよう整備することになりました。
Fastlane初心者が一から調べてみた過程を記録します!
これから学ぼうと思う方にとって有益な情報となれば嬉しいです!:)
なぜFastlaneを使うのか
以下を参考にして下さい!
以下に載っているフローを見るとイメージがつきやすかったです!
Fastlane matchで証明書・プロファイルを管理する
以下を参考にして下さい。
以下の内容を実行、設定すれば証明書の管理はできるようになりました。
- Fastlaneの導入
- init
- MatchFileのapp_identifier設定(チームで共有)
- MatchFileのusernameの設定
- Gitリポジトリ設定(チームで共有)
- passphraseの設定(チームで共有)
- fastlane match developmentの実行
- fastlane match appstoreの実行
フォルダ構成とか、証明書の作成もfastlane match development
を実行すると自動でやってくれます!(すごい‥)
既に存在する場合は、Gitリポジトリに登録されているプロビジョニングファイルが更新されます。証明書の上書きはされないみたいです。プロビジョニングファイルが既に存在する場合は、名前の衝突を避けるために、ランダムな数字が名前につけられた別のプロビジョニングファイルが別途作成されるので、上書きしたい場合は、登録されている分を削除してからの方が良いです!
複数のプロジェクトの証明書を一つのGitレポジトリで管理する場合については、以下のように、git_branch
を分けて登録します。git_branch
パラメーターを指定して、コマンドを叩けばこれも自動でやってくれます!(すごい‥)
以下の「Multiple teams」を参考にしました。
今回は、複数のチームを持っていたので、Fastfileに別途laneを追加して、コマンド実行しました。
platform :ios do
desc "証明書を更新する"
lane :update_dev_certificate do
match(
app_identifier: ["jp.co.xxx"],
team_id: "xxx",
git_branch: "master",
type: "development",
force_for_new_devices: true
)
match(
app_identifier: ["jp.co.xxx"],
team_id: "xxx",
git_branch: "master",
type: "appstore"
)
end
end
bundlerを使用して、インストールした場合は、以下のコマンドを忘れずに!
bundle exec fastlane [lane]
Fastlaneで証明書・プロファイルを取得する
やることは、作成する場合と同じですが、readonly
プロパティをtrue
にすることを忘れずに!!
platform :ios do
desc "証明書とプロファイルをダウンロードする"
lane :fetch_dev_certificate do
match(
app_identifier: ["jp.co.xxx"],
git_branch: "master",
type: "development",
readonly: true
)
match(
app_identifier: ["jp.co.xxx"],
git_branch: "master",
type: "appstore",
readonly: true
)
end
end
証明書の期限が切れた場合
一度削除してから再生成します。
手動でApple DeveloperコンソールからProfileを削除した場合
fastlane match developmentを実行すると再生成してくれます。
端末を更新した場合
証明書取得時にエラーが出る場合
証明書の取得を行うと、"passphraseが違う”とエラーが出ていたので、再度ブランチから作り直したところ、正常に取得できるようになりました。新規作成する場合、passphraseの確認は怠らず、チームで管理をしましょう!!
まとめ
Fastlane matchでの証明書管理の設定は比較的簡単にできたのでよかったです!!
色んな記事を書いてくださる先輩方に感謝です🙇