自作のライブラリのSwift Package Manager対応

Xcode 11から、macOSアプリでもSwift Package Managerを使えるようになった。Xcodeで直接操作できる分、CocoaPodsやCarthageよりも便利で快適なので、自作のライブラリも全てSwift Package Managerに対応させることにした。

といっても、やることはPackage.swiftを追加するだけ。

https://github.com/apple/swift-package-manager/blob/master/Documentation/Usage.md

Package.swiftは手動で追加しても問題ないが、swift package init コマンドを使うと、テストなど込みで作成してくれる。

標準では[Sources/パッケージ名]ディレクトリ以下にライブラリのファイルが配置されていることが期待される。それ以外の場所に起きたい場合はtargetのpathを明示的に指定することで変更できる。

    targets: [
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
        // Targets can depend on other targets in this package, and on products in packages which this package depends on.
        .target(
            name: "Gotanda",            
            dependencies: [],
            path: "Sources"),
        .testTarget(
            name: "GotandaTests",
            dependencies: ["Gotanda"]),
    ]

swift buildをして問題なかったら、あとは自分のレポジトリにPushするだけでOK。バージョン管理したい場合は、tagを切ってあげれば良い。

他のパッケージ同様、Add Package Dependencies...でレポジトリのURLを入力すると、無事パッケージを追加することができた。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です