【Xcode】すでに追加済みのSwift Packageの別のパッケージプロダクトを追加する方法

2022.07.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

FirebaseをSPMで導入しているアプリに新たに別のFirebaseライブラリを追加しようとしたのですが、追加できなくて困ったのでその解決策を調べました。

環境

  • Xcode 13.2.1

問題

新規にSwift Packageを追加する際は、Xcodeのメニュー > File > Add Packageで追加出来ます。ただ当初は使う予定はなかったが、アプリが成長していくことで別のライブラリも追加したい時が来るかもしれません。

今回は、すでにFirebaseのSwift Packageを追加済みでThis project app 'project name' already contains this package dependencyと表示され、このプロジェクトには選択したパッケージの依存関係がすでに含まれている為、ライブラリ追加画面まで進むことが出来ませんでした。

解決策

すでに追加済みのSwift Packageの別のパッケージプロダクトを追加するには、

TARGET > General > Frameworks, Libraries, and Embedded Content 下部のボタンを押します。

今回は、FirebaseAuthを追加したいのでFirebase Packageの中からFirebaseAuthを選択し、Addボタンを押します。

Frameworks, Libraries, and Embedded Contentに、今回追加したFirebaseAuthが表示されたので完了です。

新規でSwift Packageを追加するよりもはるかに簡単に追加することが出来ました!

おわりに

実際に作業に取り掛かり、「あれ?追加できないぞ」と最初は戸惑いましたが、冷静に調べてみると解決策が見つかりました。これも解決策を記事にしてくれた方のおかげです。同じようにこの記事が既存のSwift Packageの別のパッケージプロダクトを追加したいという方の救いになれば嬉しいです。

参考