BETA

SwiftGenを体感するための最小限の手順

投稿日:2019-09-20
最終更新:2019-09-23

はじめに

個人開発アプリにSwiftGenを導入しました。
SwiftGenをまず触って見たいという方向けに、最小限の導入手順を紹介します。
SwiftGenはxibやstrings,segueなどに使えますが、説明の単純化のため、ここでは画像リソースのみ対象とします。

前提

  • 導入にはhomebrewを利用
    SwiftGenはCocoaPodsやzip、homebrewでインストールできます。私はCocoaPodsではなくCarthageを利用しているので、ここでは、CocoaPodsによる導入ではなくhomebrewで導入します。
  • 例としてあげるXcodeプロジェクト名はNaniTaberu

目次

  • homebrewでswiftgenをインストール
  • swiftgen.ymlの作成(自動生成のための設定をする)
  • swiftgenの実行
  • 自動生成されたソースを使ってみる

homebrewでswiftgenをインストール

brew update  
brew install swiftgen  

swiftgen.ymlの作成(自動生成のための設定をする)

cd ~/work/NaniTaberu # プロジェクトのフォルダに移動  
vi swiftgen.yml  

swiftgen.ymlには、GitHubのreadmeにしたがって、以下のように記載します。

xcassets:  
  inputs: NaniTaberu/Assets.xcassets  
  outputs:  
    output:  NaniTaberu/Generated/Assets.swift  
    templateName: swift4  

inputsにはAssets.cxassetsのフォルダを指定し、outputには出力先のファイル名を指定します。templateNameはswiftgenで自動生成されるswiftファイルのバージョンを指定します。ここではswift4です。

outputのGeneratedフォルダがない場合、作成します。

mkdir Generated  

swiftgen.ymlを作成したら、以下のコマンドでswiftgen.ymlで構文のチェックをします。

swiftgen config lint  

swiftgenの実行

手動で実行

swiftgen.ymlのあるフォルダで以下のコマンドを実行します。

swiftgen  

すると、Generatedフォルダ下に、Assets.swiftが生成されているはずです。

自動で実行

Project Navigator「NaniTaberu」> TARGETS「NaniTaberu」> Build Phases>"+">New Run Script PhaseでRun Script Phaseを作成します。

以下の通り「Shell」の下のテキストエディタにswiftgenと記載します。

swiftgen  

自動生成されたソースを使ってみる

自動生成したソースをプロジェクトに追加

Project Navigator > 右クリック > Add Files to "NaniTaberu"で、自動生成したGeneratedフォルダを指定します。

すると、以下のように、自動生成されたソースを利用できるようになります。

    override func viewDidLoad() {  
        super.viewDidLoad()  
//        imageView.image = UIImage(named: "loading_image") // SwiftGen 導入前  
        imageView.image = UIImage(asset: Asset.loadingImage) // SwiftGen 導入後  
    }  

補足

ヘルプ

ヘルプは--helpオプションで確認可能です。

swiftgen --help  
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@QN0f0F98EExCjypmの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!