🦔

swift-dependenciesの導入方法

2025/01/18に公開

概要

TCAでお馴染みのswift-dependenciesというライブラリの導入方法についての解説です。
導入する際に、少し気を付けるべきポイントがあるので、今回まとめました。

swift-dependenciesとは

swift-dependenciesは、Point-Freeが開発した依存性注入(Dependency Injection, DI)のライブラリ です。主にSwiftのコードで依存関係を簡潔に管理し、テストしやすくするために使われます。

swift-dependenciesの特徴

✅ 1. 依存性を一元管理
• 依存性を グローバルに登録 し、どこからでもアクセス可能
• @Dependency プロパティラッパーで簡単にアクセス
✅ 2. TestDependencyKeyを使ったモック
• テスト時に依存関係を差し替え できる
• live / mock / test のように 環境ごとに切り替え 可能
✅ 3. @DependencyClient マクロでコードを簡潔に
• 依存性の デフォルト実装 (unimplemented) を自動生成
• SwiftSyntax を利用したマクロ機能で 定義を簡略化

導入手順

上述のswift-dependenciesの特徴からわかるように、swift-dependenciesは、一部の機能でテストサポート(TestDependencyKey や unimplemented など)を利用しているため、適切に動作させるにはテストモジュール(XCTest)が必要になる場合があります

このことを念頭に入れて、導入手順を見ていきましょう!

  1. テストモジュールが入ってない場合は、テストモジュールを追加
  • メニューバーの「File」 → 「New」 → 「Target…」 を選択
  • iOS Unit Testing Bundle」を選択
  1. SPMでswift-dependenciesの追加

以上で導入完了です。

まとめ

最後までお読みいただきありがとうございました。
手順自体は、難しくないですが、自分はターゲットの選択を適当に行なってしまい、エラーの解消に時間をかけてしまいました。。。
少しでもお役に立てれば幸いです。
swift-dependenciesの使い方についても、今後投稿しようと思います。

Discussion