しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

SwiftPM(Swift Package Manager)対応ライブラリを作ってみる

SwiftPM対応ライブラリの作り方を調べてみました。

まずはライブラリのフォルダを作成してから下コマンドで初期化します。

swift package init

コマンドを実行すると下のようなフォルダやファイルが作られます。
Sourcesにはライブラリのコードを入れてTestsにはテスト用のコードを入れます。
Package.swiftはライブラリの設定を入力していきます。

initではtypeも指定でき、下のようにコマンドで実行可能なパッケージなども作る事ができます。
デフォルトはlibraryなのでライブラリを作りたい場合は何も指定する必要がありません。

  --type <type>           Package type: (default: library)
        library           - A package with a library.
        executable        - A package with an executable.
        tool              - A package with an executable that uses

ライブラリはXcodeで編集していきます。
下のようにPackage.swiftを開きます。

open Package.swift

あとはSourcesフォルダの中にコードを追加していきます。

public class MyClass {
    public init() {}
    
    public func test() {
        print("Hello.")
    }
}

コードの追加が終わったら公開します。
GitHubリポジトリを作ってからコードを公開します。

git init .
git remote add origin git@github.com:shimesaba9/MyLibrary.git
git add .
MyLibrary$ git commit -m "First Commit"
git push origin main

あとはリポジトリのURLを入れる事でライブラリを追加できます。
ローカルにあるライブラリの場合はAdd Localボタンで直接追加する事もできます。

ローカルのライブラリを追加した場合、Build Phasesからライブラリを追加します。

これでアプリからライブラリを使えるようになりました。

import MyLibrary

struct ContentView {
    func test() {
        MyClass().test()
    }
}

参考URL

Swift Packagesでライブラリを自作する方法 - Qiita