文字っぽいの。

文字を書いています。写真も混ざります。

Swift 4.2でコマンドラインツールを作るときに外部ライブラリを使う方法

開発環境

手順

$ mkdir SwiftCommandSample
$ cd !$
$ swift package init --type executable

中身はこうなっている。

.
├── Package.swift
├── README.md
├── Sources
│   └── SwiftCommandSample
│       └── main.swift
└── Tests
    ├── LinuxMain.swift
    └── SwiftCommandSampleTests
        ├── SwiftCommandSampleTests.swift
        └── XCTestManifests.swift

4 directories, 6 files

Package.swift をいじる。自動生成されたものがこれ。

ここで、試しに APIKit を導入してみる。次のように書き換える。

これを書いたあとに

$ swift build

を叩けば、依存が解消される。また、Xcodeでコードを書きたい場合は、 swift build をしたあとで、

$ swift package generate-xcodeproj

をすると SwiftCommandSample.xcodeproj が生成される。swift package generate-xcodeproj は依存するライブラリを変更して、 swift build する度に呼ばないといけない。呼ばないとライブラリの変化が.xcodeproj に伝わっていないのでビルドできない。

これでAPIKitが使えるようになったので、あとはコードを書くだけで良い。