SwiftPMで自作パッケージを公開する方法を完全ガイド!初心者でもわかる公開手順
生徒
「先生、Swiftで作った自分のコードをライブラリとして公開できるって聞いたんですが、どうやるんですか?」
先生
「いい質問ですね。SwiftにはSwiftPM(Swift Package Manager)という仕組みがあって、それを使えば自作のパッケージを簡単に公開できますよ。」
生徒
「SwiftPMってなんですか?聞いたことがないです。」
先生
「SwiftPMはSwift公式のビルドツールで、ライブラリの依存関係(他のコードとのつながり)を管理したり、公開する仕組みを提供してくれる便利なツールなんです。」
生徒
「なるほど!じゃあ実際にSwiftPMで自作パッケージを公開する流れを教えてください!」
先生
「それでは、順番にわかりやすく説明していきましょう。」
1. SwiftPMとは?基礎から理解しよう
SwiftPM(Swift Package Manager)は、Swift公式が提供するビルドツールで、ライブラリを管理・公開するための仕組みです。初心者にとって難しく聞こえるかもしれませんが、実はとてもシンプルです。たとえば、スマートフォンにアプリをインストールするのと同じように、SwiftPMを使うと必要なライブラリを自動的にダウンロードして使えるようになります。
「ライブラリ」とは、よく使う便利な処理をまとめた部品のことです。自分の作った便利な処理をSwiftPMの仕組みを使って公開すれば、他の人や自分の別のプロジェクトでも再利用できます。
2. SwiftPMでパッケージを作成する方法
まずは自作パッケージを作るところから始めましょう。SwiftPMにはコマンドが用意されていて、とても簡単に新しいパッケージを作成できます。
ターミナル(黒い画面でコマンドを入力するソフト)を開いて、以下のコマンドを入力します。
swift package init --type library
このコマンドを実行すると、SwiftPMが自動的に必要なフォルダやファイルを作ってくれます。たとえば「Sources」フォルダにはSwiftのコードを書く場所が、「Tests」フォルダにはテストコードを書く場所が用意されます。
3. Package.swiftファイルを理解する
SwiftPMの心臓部とも言えるのがPackage.swiftファイルです。このファイルは、パッケージの名前や依存関係、対象のプラットフォームなどを設定するためのものです。
例として、自作ライブラリを定義する基本的な内容は次のようになります。
import PackageDescription
let package = Package(
name: "MyLibrary",
platforms: [
.iOS(.v13),
.macOS(.v10_15)
],
products: [
.library(
name: "MyLibrary",
targets: ["MyLibrary"]),
],
targets: [
.target(
name: "MyLibrary",
dependencies: []),
.testTarget(
name: "MyLibraryTests",
dependencies: ["MyLibrary"]),
]
)
ここでは「MyLibrary」という名前のライブラリを作成し、iOSやmacOSで動くように設定しています。targetsは実際のコードをまとめる場所の指定です。初心者はまず、このファイルが「パッケージの説明書」だと思えば十分です。
4. GitHubにリポジトリを作成して公開準備
SwiftPMで作ったパッケージを公開するためには、まずソースコードをGitHubにアップロードする必要があります。GitHub(ギットハブ)とは、世界中のプログラマーが使っているコードの保管庫です。
手順は次のとおりです。
- GitHubで新しいリポジトリを作成する
- 作成したSwiftPMパッケージのフォルダをGitで管理する
- リモートリポジトリ(GitHub上の場所)にプッシュ(アップロード)する
ターミナルで次のように入力します。
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/ユーザー名/MyLibrary.git
git push -u origin main
この作業を終えると、自作パッケージがGitHubに保存され、他の人も利用できる状態になります。
5. タグ付けをしてバージョン管理
SwiftPMで他の人が使えるようにするには「バージョン番号」をつける必要があります。これはアプリのバージョンと同じ考え方で、変更や更新があったときに番号を上げていきます。
例えば、初めて公開するときには次のようにタグをつけます。
git tag 1.0.0
git push origin 1.0.0
これで、SwiftPMを使う人が「このパッケージのバージョン1.0.0を利用する」と指定できるようになります。
6. 他のプロジェクトから利用してみる
最後に、自分で公開したパッケージを実際に利用してみましょう。XcodeやSwiftPMの設定で依存関係として追加するだけです。
新しいプロジェクトのPackage.swiftに以下を追記します。
dependencies: [
.package(url: "https://github.com/ユーザー名/MyLibrary.git", from: "1.0.0")
]
これで、自分の作ったライブラリを別のプロジェクトでも簡単に使えるようになります。最初は難しそうに見えますが、一度体験してしまえば流れはシンプルです。