Carthageとは🏜
- Swiftで作られたライブラリ管理ツールです。
- https://github.com/Carthage/Carthage
- 読み方はカーセッジやカルタゴといくつか派閥がありますが、自分はカーセッジ派(パッケージとカーセッジの発音が似ている)に加わりました。
- ナウい💪
Carthageの良いところ🤗
- コンパイル時間が短くなる(TDDがしやすくなるよ!やったね!)
ライブラリ導入時にのみビルドするため! - CocoaPodsと違いシンプルな構成
Carthageの悪いところ😭
- 学習コストが高い
- 使用したいライブラリがCarthage対応していなければならない
- やることがCocoaPodやSwiftPackageManagerより多い
動作環境
- macOS Mojave 10.14.6
- Xcode 10.3
- Homebrew 2.1.9
- Carthage 0.33.0
前準備編 Homebrew インストール編
-
Homebrew公式ページのコマンドをコピー(コピーする範囲を選択して ⌘ + c )
https://brew.sh//usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
"⌘ + space" を押して、Spotlight検索で terminal と入力して、エンターキーでアプリを起動します。
-
起動したterminalに、先ほどコピーしたコマンドを貼り付けます。(⌘ + v)
-
無事貼り付けることができましたら、エンターキーを押して実行します。
-
終了するまで、コーヒー豆でも挽きながら待ちましょう。
Carthage インストール編
- terminal で以下を入力します。
brew install carthage
おわりっ!!!
ライブラリをインストール編
本題です。自分がまだ、曖昧なところです。
大まかな流れは
- Cartfile(プロジェクトで利用するライブラリを定義するファイル)を作る
- Cartfileを編集する
- ライブラリをビルド
- Xcodeのプロジェクトにビルドしたライブラリを入れる
- Run Scriptを書く!
1. Cartfileを作る
touch Cartfile
2. Cartfileを編集する
vim Cartfile
Carthage対応している使用したいライブラリを記述します。
今回は、例としてAlamofireを導入していきたいと思います。
https://github.com/Alamofire/Alamofire
github "Alamofire/Alamofire"
※ Vim の基本操作
i
キーで入力モードにして、ライブラリの情報を記述
記述ができたらesc
を押して入力モードを解除、その状態で:wq
を入力しエンターで保存して終了となります。
3. ライブラリをビルド
carthage update --platform iOS
※ "--platform iOS"をつけないとwatchOSやOSXの分までビルドしてしまいます。
コーヒーでも淹れながら待ちましょう。
4. Xcodeのプロジェクトにビルドしたライブラリを入れる
プロジェクトファイルの"Gereral"タブ
AddOther
以下のディレクトリに作成したframeworkが入っています。
/Carthage/Build/iOS/Alamofire.framework
プロジェクトファイル > General > Linked Frameworks and Libraries
5. Run Scriptを書く!
プロジェクトファイル > Build Phases
の左上の+ボタンからNew Run Script Phase
を選択し、新しいRun Scriptを追加します。
「Shell」の下に以下のコマンドを記述します。
/usr/local/bin/carthage copy-frameworks
次に「input Files」にて+ボタンを押し、以下のようにframeworkの情報を記述します。
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
これで準備はOK!
あとは、必要な箇所でimportしまくって、使い倒しましょう!
参考文献