OSS探訪GitHubでログイン

asset・Localizable.strings・storyboardなどのresource参照を型安全なSwift codeへ生成する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
9,548
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/04/16
ページ内ナビ

概要

SwiftGenはiOS/macOS projectのresourceからSwift codeを生成するCLIです。Asset Catalog、localized strings、fonts、storyboards、Core Data、JSON/YAMLなどをparserで読み込み、文字列ベースのresource名をcompilerで検証できるconstant/APIへ置き換えます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

resource名を生成codeへ変換してtypoと存在しない参照をcompile時に検出する

xcassets、strings、fonts、IB file、Core Dataなどをparserで読み込み、ImageAssetやlocalized string accessorsなどのSwift codeを生成します。resource名の直接入力を減らし、autocompleteとcompile-time checkを利用できます。

出典:[2]

swiftgen.ymlとStencil templateで生成規則をprojectへ固定する

swiftgen.ymlへinputs、output、templateNameを記述し、swiftgen config runまたはswiftgenで複数parserをまとめて実行できます。bundled templateに加えStencil-based custom templateも利用できます。

出典:[2]

向いている用途

asset・localizationが多いiOS projectでString-based APIを減らしたい場合に向く

画像名、色、localized key、storyboard identifierなどのresource参照を共通generated codeへ集約したいteamに適します。生成toolのversionとconfigをrepository側で固定するとdeveloper/CI間の差を抑えられます。

出典:[2]

導入前の確認

latest release 6.6.3は2024年だがrepositoryは2026年も更新されている

GitHub latest releaseは2024年3月の6.6.3で、Package.swiftはSwift tools 5.6とmacOS 10.11以上を宣言しています。repositoryには2026年のpushがあるため、stable branchの未release変更と6.6.3との差を確認し、productionではbinary/tool versionを明示的に固定してください。

出典:[4][3][1]

参考にした公式資料

  1. [1]SwiftGen/SwiftGen — GitHub repository(2026-10-06)
  2. [2]SwiftGen 6.6.3 — README(2026-10-06)
  3. [3]SwiftGen 6.6.3 — Package.swift(2026-10-06)
  4. [4]SwiftGen 6.6.3 release(2026-10-06)
  5. [5]SwiftGen MIT license(2026-10-06)
編集部からの補足

画像名・色・localized key・storyboard identifierなどString-basedなresource参照を減らしたいiOS projectに向きます。latest releaseは2024年なので、2026年のstable branchとの差を確認しつつtool versionを固定してください。

3ステップで試す

  1. 1

    SwiftGen 6.6.3をMint経由で固定して確認する

    READMEで案内されているMintを使い、projectで確認するSwiftGen versionを6.6.3へ固定します。

    mint run SwiftGen/SwiftGen@6.6.3 swiftgen --version
  2. 2

    最小のswiftgen.ymlを作る

    Asset CatalogをparseしてGenerated/Assets.swiftへ型安全なresource APIを生成するconfigを作ります。

    cat > swiftgen.yml <<'YAML' xcassets: inputs: Resources/Images.xcassets outputs: - templateName: swift5 output: Generated/Assets.swift YAML
  3. 3

    configに沿ってcodeを生成する

    version固定したSwiftGenでswiftgen.ymlを実行し、generated Swift fileを確認します。

    mint run SwiftGen/SwiftGen@6.6.3 swiftgen config run
公式READMEで確認

成長

成長の推移 · 直近30日

9,548 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
32

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • ios
  • swift
  • code-generator
  • templates
  • uistoryboard
  • uiimage
  • uifont
  • localization
  • stencil
  • stencil-template
  • uicolor
Stars
9,548
Forks
763
Watchers
105
Open Issues
125
Contributors
87
所有者種別
Organization
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/04/16

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?