🦔

Swift PlayGroundsファイルを利用したSwift Package用のExampleを作ってみる。

2023/05/30に公開

Swift PlayGroundsファイルを利用したSwift Package用のExampleを作成します。

環境

OS: macOS 13.3.1
PlayGrounds.app: バージョン4.1 (1676.15)
Xcode.app: Version 14.3 (14E222b)

PlayGroundsでExample用のAppを作成する。

Appを作成します。

もしくは

名前を変更します。ExampleAppとしました。
一度バツボタンで閉じます。

作成されたPlayGroundsのディレクトリを表示します。

.swiftpmファイルの名称もAppの名称と同じにします。

PlayGroundsでの作業は以上です。

Swift Packageの作成。

Swift Packageを作成するディレクトリに「Example」というディレクトリを作成します。
このディレクトリの中に「PlayGroundsでExample用のAppを作成する。」で作成したAppを移動もしくはコピーします。

XcodeでSwift Packageを作成します。今回はOpenSwiftPackageInSwiftPlaygroundsとしました。
ここで注意点です。名称は必ず配置するディレクトリと同じにするようにしてください。
理由としては次の作業でライブラリの名前を冠したディレクトリを削除するためです。

一度バツボタンで閉じます。

画像にあるファイルを1階層上に移動させます。

ライブラリの名前を冠したディレクトリを削除します。

Swift PackageとPlayGroundsで作成したExample用のAppを紐づける。

「PlayGroundsでExample用のAppを作成する。」で作成したAppの.swiftpmファイルをVSCodeなどのエディタアプリで開きます。

Package.swiftのtargetsのすぐ上に下記のコードを追加します。

dependencies: [
    .package(path: "../..")
],

次に.executableTargetコード内にnameの下に下記のコードを追加します。

dependencies: [
    .product(name: "OpenSwiftPackageInSwiftPlaygrounds", package: "OpenSwiftPackageInSwiftPlaygrounds")
],

保存し、エディタアプリを閉じます。

.swiftpmファイルをXcodeで開きます。
画像のように表示できたら紐付けは完了です。

試しにPackagesを確認するとローカルファイルを参照できていることがわかります。

今回作成したSwift PackageとそのExampleはこちらで公開していますのでご参考になればと思います。
https://github.com/kokiTakashiki/OpenSwiftPackageInSwiftPlaygrounds

最後までお読みいただきありがとうございました。

Discussion