SwiftでCLIしやすくするモジュールSwCLIを作ってみた

SwiftでCLIしやすくするモジュールSwCLIを作ってみた

github.com

なぜ作ったか

  • Xcode 8.0からsystem関数をコールするとエラーになった
  • NSTaskで扱えるが癖を把握して使わないといけないため、いちいち面倒くさい

ということである程度wrapして扱えるようにしたライブラリを実装したので紹介します

実行

let ret = try! SwCLI().runWithRead(["echo", "abc"])
// -> abc

実行確認

if SwCLI().passes(["cd", "Sources"]) {
    // -> changed directory
}

コマンド確認

if SwCLI().contains(["git"]) {
    // -> can use git command
}

Assert

fail("forced termination")

終わりに

こんな感じで簡単に試せることを意識して実装してみました。

ぜひ触って見てください