ページ内ナビ
概要
XcodeGenはYAML/JSONで記述したproject specとfolder構造から.xcodeprojを生成するSwift CLIです。target、configuration、scheme、build setting、package dependencyをtextで管理し、project fileのmerge conflictを避けながらlocal/CIで同じXcode projectを再生成できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
target・scheme・build setting・dependencyをproject.ymlへ宣言する
project specでapplication/framework target、platform、source、configuration、scheme、Swift packageなどを定義し、xcodegen generateから.xcodeprojを生成します。specは複数fileに分割してinclude/overrideすることもできます。
出典:[2]
generated .xcodeprojをgitから外しfolder構造とspecをsource of truthにする
source directoryを自動的に解析してXcode group/fileへ反映できるため、手編集されたproject fileのmerge conflictを減らせます。CI上でprojectを生成するworkflowにも利用できます。
出典:[2]
向いている用途
複数target・環境・packageを持つiOS projectのproject設定をcode reviewしたい場合に向く
複雑なbuild settingやtarget dependencyをYAML/JSONとして差分管理し、新規checkoutやCIで同じprojectを再現したいteamに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]yonaskolb/XcodeGen — GitHub repository(2026-10-06)
- [2]XcodeGen 2.46.0 — README(2026-10-06)
- [3]XcodeGen 2.46.0 — Package.swift(2026-10-06)
- [4]XcodeGen 2.46.0 release(2026-10-06)
- [5]XcodeGen MIT license(2026-10-06)
編集部からの補足
.xcodeprojのmerge conflictを減らし、target・scheme・build settingをtextでreviewしたいiOS teamに向きます。2.46.0ではtarget順・static framework embedなど生成結果が変わるためupgrade時はproject diffを確認してください。
3ステップで試す
- 1
XcodeGen 2.46.0をMint経由で固定して確認する
確認済みreleaseを固定し、同じXcodeGen versionをdeveloper/CIで使えるようにします。
mint run yonaskolb/XcodeGen@2.46.0 xcodegen --version - 2
最小のproject.ymlを作る
application targetとsource directoryをYAML specへ宣言します。
cat > project.yml <<'YAML' name: MyApp targets: MyApp: type: application platform: iOS sources: [MyApp] YAML - 3
Xcode projectを生成する
project.ymlからMyApp.xcodeprojを生成し、clean checkoutでも同じprojectを再現できることを確認します。
mint run yonaskolb/XcodeGen@2.46.0 xcodegen generate
成長
成長の推移 · 直近30日
8,830 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 7
- Open PR
- 51
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- GitHub Actions Runner6,311 Stars
共通タグ 2件 · 共通カテゴリ 3件
GitHub Actionsのジョブを自社マシンで実行し、OS・ハードウェア・ネットワークを自分で管理する
C# - Apache Maven5,369 Stars
共通タグ 2件 · 共通カテゴリ 3件
POMでdependency・plugin・build lifecycleを共有し、Java/JVM buildを標準化するproject management tool
Java - Appium22,046 Stars
共通タグ 2件 · 共通カテゴリ 2件
WebDriver互換APIでAndroid・iOS・desktop appのE2E testを自動化する
TypeScript - Allure Report5,549 Stars
共通タグ 2件 · 共通カテゴリ 2件
複数言語・test frameworkの実行結果を統一reportへ変換し、履歴・step・attachmentを可視化する
HTML - Renovate22,688 Stars
共通タグ 1件 · 共通カテゴリ 3件
90超のpackage managerを横断してdependency update PRを自動化する
TypeScript - Turborepo31,176 Stars
共通タグ 1件 · 共通カテゴリ 2件
MonorepoのTask GraphとCacheでbuild・test・lintを必要な範囲だけ実行するBuild System
Rust
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。