Swift (iOS/macOS): Swift のパッケージマネージャ Carthage を使う

Carthage (カーセッジ)は Objective-C 時代から使われている CocoaPods と違って、都度ビルドされず先にビルドされたものを使用するので、アプリのビルドが遅くてつらい〜という問題が解消されているのが魅力の Swift 用パッケージマネージャー。

 

インストール

brew install carthage

 

インストールするパッケージを Cartfile に記入

プロジェクトディレクトリに Cartfile というファイルを作成して幾つか必要なライブラリを記入する。
例えばこんな感じ。

github "Alamofire/Alamofire"
github "SwiftyJSON/SwiftyJSON"

 

Carthage でライブラリをビルド

carthage update --platform iOS

--platform iOS と書くと macOS や他の OS 用のライブラリは書かれないので煩雑にならなくなる。

これで Carthage/Build/iOS に ***.framework ファイルが出来上がる。

 

Xcode のプロジェクトからビルド済みのライブラリを選択

できた ***.framework を、Xcode のプロジェクト設定>General>Linked Frameworks and Libraries>Add>Add Others から選択してリンク。

次に Build Phages>+ボタン>New Run Script Phase を作成して Shell の部分に

/usr/local/bin/carthage copy-frameworks

input Files に

$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
$(SRCROOT)/Carthage/Build/iOS/SwiftyJSON.framework

を記入。

あとは必要なところで import すれば使用できる。

 

Carthage で使えるものは Carthage を、他を CocoaPods で補うのが今っぽいようです。