BuildConfigurationによる機能出し分けを、型定義の力を借りて実現していく by 小林南実

iOSDC Japan 2020
採択
2020/09/21 10:50〜
Track D
レギュラートーク(20分)

BuildConfigurationによる機能出し分けを、型定義の力を借りて実現していく

minami1389 小林南実 minami1389

共通したコードベースを基に、複数アプリをビルドしたいことがあります。
例えばCtoCのECサービスにおいて、同プロダクトの販売者向けアプリと購入者向けアプリを実現したいときなど。
このように、機能の出し分けはあるけれど、共通部分が多いのでソースコードを分けるほどではない、といった場面が起こり得ます。

こんな時に用いる手法として、Configurationを複数作成しそれぞれにおいてマクロを定義し、
機能出し分けを行いたい箇所で「#if」という記法を使って実装コードを出し分けていく、といったものがあります。
こういった開発においてよく発生してしまうのが、コードの至るところに「#if」が発生してしまい、可読性が落ちてしまうということです。
また本来であれば購入者のみが使用できる機能であっても、誤って販売者向けアプリにおいて表示してしまう、という不具合が起こる可能性も十分あります。

そういった課題を「型定義」の力を借りることで解決することができます。
本トークではこちらについてご紹介したいと思います。