元ブログ - 【Swift】CarthageでAlamofireを入れてみる - - 技術は熱いうちに打て!
今回は、Carthageの導入方法についてです。
Carthageとは
https://github.com/Carthage/Carthage
cocoaでのライブラリ管理ツールと言えば、
cocoapodsが有名ですが新たな観点から作成されたライブラリ管理ツールがCarthageです。
Carthageはカルタゴと読むらしいです。
何が違うのか?
xcworkspaceが生成されない
ここが大きいと思います。
cocoapodsはワークスペースを直接いじることにより設定していましたが
Carthageは.frameworkを生成することにより、
各々の.frameworkが独立した存在になります。
github以外にホスティングされているライブラリも使用可能
後に書くCarthageファイルにgitと書けばgithub以外にホスティングされている
gitレポジトリからも持ってくることが出来ます。
自社でgitサーバを持っているチームでも使えますね。
注意
早速注意点なのですが、iOS8以降またはOS Xのみ対応です。
dynamic frameworkに対応するためです。
この辺はアプリのAnalyticsとかでiOS 7以前を切れるかを確認してみてください。
インストール
3通りあります。
- pkgからのインストール
- brewからのインストール
- ソースからのインストール
インストールが終わればcarthageコマンドが使えるようになります。
1. pkgからのインストール
あとは、いつもの通りです。
2. brewからのインストール
$ brew install carthage
3. ソースからのインストール
最新のソースコードから試したい場合はこちらの方法ですが、自己責任で。
$ git clone git@github.com:Carthage/Carthage.git
$ cd Carthage
$ make install
ライブラリのインストール方法
以下の流れで追加されます。
- Cartfileファイルの作成、編集
- Carthageコマンドの実行(ライブラリのクローン、依存関係の解決、.frameworkの生成)
- 生成された.frameworkをprojectに追加
1. Cartfileの作成
$ touch Cartfile
出来たCartfileを編集します。
今回はAlamofireを追加します。
https://github.com/Alamofire/Alamofire
※AlamofireはSwiftで実装されたHTTPネットワーキングライブラリです。
およそこのような形になると思います。
github "Alamofire/Alamofire"
※コメントも#を先頭に置けば付記出来ます。
# Elegant HTTP Networking in Swift
github "Alamofire/Alamofire"
2. Carthageコマンドの実行
$ carthage update
プラットフォームを指定したい場合は以下のように--platformオプションも付与できます。
$ carthage update --platform iOS
上手くいけば
・Cartfile.resolved
・Carthage/Build
- .framework, .framework.dSYMなどのファイル
・Carthage/Checkouts
- 対象レポジトリ
が生成されていると思います。
3. 生成された.frameworkをprojectに追加
xcodeprojのGeneralタブに[Linked Frameworks and Libraries]があるのでここに追加します。
+ボタンを押して追加しても良いですし、ここに生成された.frameworkを追加しても良いと思います。
Run Scriptの追加
そうするとRun Scriptというプルダウンが出来ると思うのでそこにある黒い場所に
/usr/local/bin/carthage copy-frameworks
を追加し、Input Filesを追加し、.frameworkのパスを記してあげます。
以上!
ここまで上手くいけば
import Alamofire
で使えるようになっていると思います。
誰かのお役に立てば。



