XcodeGenとは?
まず、XcodeGenは何ができる物なのか?ですが、
簡単に言ってしまうと、
コードからxcodeprojファイルを生成するコマンドラインツールです
GitHub - yonaskolb/XcodeGen: A Swift command line tool for generating your Xcode project
A Swift command line tool for generating your Xcode project - GitHub - yonaskolb/XcodeGen: A Swift command line tool for generating your Xcode project
XcodeGenは設定ファイルを参照してxcodeprojを生成するので、
xcodeprojをgitの管理から外して、設定ファイルをgitで共有すれば、
xcodeprojがコンフリクトする事はなくなります。
メリット
- チーム間でプロジェクトファイルのコンフリクトが無くなる
- Github等で変更が分かりやすくなる
- xcodeprojファイルを共有する必要がなくなる
デメリット
- 学習コストが発生する
それでは早速進めていきましょう。
インストール方法
XcodeGenはHomeberwからインストールします。
$ brew install xcodegen
設定ファイルの書き方
上記で少し触れましたが、XcodeGenは設定ファイルを参照してxcodeprojファイルを生成します。
では、早速設定ファイルをxcodeprojを生成したいフォルダと同じ階層に生成します。
$ touch project.yml

あとは、このproject.ymlファイルにプロジェクト構成を記述していきます。
以下は試しに作った最小構成のproject.ymlになります。
ここから、以下のリンクの記述方法を参考にプロジェクト設定を追加していきます。
詳しいパラメータはこちら
適当によく使う設定を追加してみました。
使用方法
一通り設定ファイルの記述が終わったら、実行していきます。
もしプロジェクト設定に変更を入れているなら、バックアップは取っておきましょう。
$ xcodegen
上記を実行するとxcodeprojが生成される(上書きされる)ので、
Xcodeで開いて、Runが成功すれば無事リプレイス成功です!
まとめ
SPMやCarthageの設定にも対応しているので、
学習コストに見合うだけのパフォーマンスをチームにもたらしてくれます。
是非チャレンジしてみてください!
個人アプリをリリースしました。良ければインストールしてみてください🙏

Scannable - Simply Recognizer
Scannable - Mobile Scanner App. 無料 スキャンアプリ / 書類 スキャン / OCR / 写真 スキャン シンプル操作で画像からテキスト解析! 教科書や手紙、レシートをデジタルデータにして保存できます。 データ化したテキストは編集・共有可能です。 日本語・英語・中国語(簡体字)...