Cocoaフレームワークにおけるライブラリ管理ツール、Carthageの導入と使い方について紹介したいと思います。
なお執筆時の筆者の動作環境は以下になります。
- OS X 10.11.5
- Xcode 7.3.1
- Swift 2.2
Carthageとは
Carthageはシンプルな機能を持つことを目指して作られた、
CocoaフレームワークのSwift製ライブラリ依存関係管理ツールです。
CocoaのライブラリはCocoaPodsが有名ですが、より柔軟に扱えるのがCarthageです。
豊富な機能を備えたCocoaPodsに対して、gitやXcodeに出来ることはそれらに任せようというのがCarthage開発の思想のようです。
ところでCarthageの読み方ですが、カルタゴとカーセッジのどちらが主流なんでしょうか…。
ご存知の方教えてください。
Carthageのインストール
Carthageをインストールする方法は二つあります。
- pkgファイルを使う
- Homebrewを使う
pkgの場合はCarthage公式リリースからCarthage.pkgをダウンロード・実行し、あとは画面の指示に従ってください。
Homebrewが導入済みの環境であれば次のコマンドを実行すればOKです。
(Homebrewについてはこちら)
$ brew update
$ brew install carthage
一応他に直接cloneしてインストールする方法もありますがオススメはしません。
Carthageを使う
まずはライブラリを導入したいCocoaプロジェクトを用意しておきましょう。
今回はSwiftのhttp通信ライブラリの定番Alamofireをプロジェクトに導入することにします。
Cartfileの作成・編集
プロジェクトのディレクトリ(.xcodeprojのあるディレクトリ)に移動し、Cartfileを作成します。
Cartfileは導入したいライブラリのリポジトリを記述するファイルになります。
$ cd CarthageSample
$ touch Cartfile
vimなどでCartfileを編集します。
$ vim Cartfile
次のように記述してください。
github “Alamofire/Alamofire”
また、ここでライブラリのバージョン指定することも可能です。
ライブラリのビルド
次のコマンドでCartfilemに記述したライブラリをビルドします。
$ carthage update –platform ios
–platform指定がないと全プラットフォーム向けがビルドされてしまうので、必要なものを指定しておきましょう。
無事完了すれば、プロジェクトのディレクトリにCartfile.resolvedというファイルと
Carthage/Buildというディレクトリが出来ているはずです。
Carthage/Build以下にプラットフォームごとに.frameworkがあります。
プロジェクトにライブラリを追加
ここからXcode上での作業に移ります。
プロジェクトファイルのGeneral->Embedded Binaries-> + と移動しビルドした.frameworkを指定します。
Add embedded binaries hereに直接ドラッグ&ドロップでも可です。
次にBuild Phases-> + -> New Run Script Phaseを選択してください。
Run Scriptという項目ができるので、選択します。
Shell項目の下の空白に次の記述をしてください。
/usr/local/bin/carthage copy-frameworks
またInput Filesにライブラリのパスを次のように指定します。
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
以上でプロジェクトへのライブラリの導入は完了です。
あとはSwiftソースファイルでimport Alamofireを書くことで使えるようになります。
まとめ
Cocoaフレームワークにおけるライブラリ管理ツールCarthageの使い方を紹介しました。
CarthageリポジトリのREADMEで謳っている通り、非常にシンプルで扱いやすいツールだと思います。
これから新しいプロジェクトを作成する際には採用してみてはいかがでしょうか。
TechProjin 開発系基礎講座 連載リンク
基礎からPHPWEBアプリ解発を学ぶなら・・
PHP基礎 連載
AIなどで注目急上昇!これから学ぶならPython!!
独学で学ぶ-pythonプログラミング 連載
汎用性◎ 定番プログラミング言語JAVA
Java基礎講座 連載