【Xcode/iOS】Swift Package Managerでライブラリを自作&公開する方法

この記事からわかること
- Swift Package Managerとは?
- XcodeでSPMのパッケージを自作する方法
\ アプリをリリースしました /
環境
- Xcode:16.3
- iOS:18.0
- Swift:5.9
- macOS:Sequoia 15.4
Swift Package Manager(SPM)とは?
「Swift Package Manager(SPM)」はアプリ開発時に使用できるパッケージ(ライブラリ)管理ツールです。他にも「Carthage」や「Cocoa Pods」などがありますがSPMはApple純正の管理ツールでXcodeにも統合されているので主流になりつつあるツールになります。
今回はSPMで使用できるライブラリを自作・公開・導入する方法をまとめていきます。
SPMライブラリの作成方法
XcodeからSPM用のライブラリを作成するには上部メニュー「File」>「New」>「Package...」をクリックし「Library」を選択します。

続いてテストシステムを含めたい場合は選択して「Next」をクリックします。

PC内の保存先を問われるので任意の場所を選択します。この際に「Don't add to any project or workspace」ではなく「Target」を選択するとそのプロジェクトに生成したパッケージを導入した状態にしてくれます。

これでライブラリ用のプロジェクトが完成しました。

中を確認すると以下のような構造になっています。
最初に生成される「Package.swift」ファイルはマニフェストファイルとも呼ばれ、プロジェクトの依存関係、ターゲット、およびその他のプロジェクト設定が記述されているファイルです。一番最初は以下のように記述されています。
あとはライブラリとして切り出したい機能をファイルを追加しながら定義していくだけです。Swiftではデフォルトのアクセス修飾子が別モジュールからはアクセスできないinternal
のため、 別のモジュールからアクセスできるようにしたい場合はpublic
を付与してあげてください。
コマンドで作成する
ちなみにSPM用のライブラリはコマンドで作成することも可能です。このコマンドはカレントディレクトリ内にパッケージに必要なファイルを生成するため、空のディレクトリを作成してから実行してください。
パッケージを公開する
パッケージ(ライブラリ)を作成できたらGitHubにアップロードします。アップロードすることで誰でも使えるパッケージとして公開することが可能です。特に変わったところはなく必要なのはタグ付けを行うことです。このタグがパッケージのバージョン管理になります。
GitHubへのアップロードはターミナルからのGitだけでなくXcodeからも操作できるので参考にしてください。
パッケージを導入する
SPMはXcodeから使用できるようので公開したパッケージを導入してみます。上部のメニューから「File」>「Add Packages...」をクリックします。

右上部の入力欄にリポジトリのURLを直接入力することで指定可能なので先ほど公開したリポジトリURLを入力してみてください。

これでSPMパッケージを自作・公開・導入することができました。一応サンプルでhttps://github.com/amefure/Sample-SPM-Library
に公開してあるので導入してみてください。
おすすめ記事:GitHub:Sample-SPM-Library
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。