engineers_blogこんにちは。自動貯金サービス『しらたま』でiOSエンジニアをしています、Objective-ひろC(@hirothings)です。今回はマネーフォワードのiOSアプリで活用しているSwiftGenというコードジェネレータについてご紹介します。SwiftGenとは?下記のように、タイプセーフにリソースが扱えるコードジェネレータツールです。文字列直打ちの指定と違って、typoでランタイムエラーになることを防ぐことができます。Asset.Common.icon20Star.imageリソースの削除や名前の変更があった場合は、コンパイル時にエラーになるので便利です。filesLocalizable.stringsのリソースに対応しています。先発で有名なR.Swiftより設定の幅が広い分、少し導入の難易度が高いです。プロダクトに導入してみると本当に痒いところに手が届くライブラリです。ようにCLIで利用するライブラリです。毎回コード生成のたびに上のようなコマンドを打つのは辛いので、いくつかチームで利用するための整備をして利用しています。プロダクトでの利用環境インストールhomebrew経由でも利用できますが、複数人で利用することを考えてcocoapods経由でインストールしています。Swiftのバージョンでコードを生成できます。Catalogが複数ある構成だったのですが、下記のように複数指定することもできます。実行は、runscript経由で自動化しています。コマンドを叩いて、ビルドなしで生成したコードを利用できるようにしています。いうライブラリを併用しています。Swift4のプロジェクトで利用していますが、問題なく利用できています。生成元コードのpathなど設定が柔軟な点がSwiftGenの良い点かと思います。コード生成のためのビルドをしなくとも、コマンドでパッと生成したコードを使えるのはすごい快適ですので、利用されたことのない方は導入を検討してみてください。最後にマネーフォワードでは、一緒に働いてくれるiOSエンジニアを募集しています。ご応募お待ちしています。