CarthageでiOSのライブラリ管理

CarthageでiOSのライブラリ管理

検証環境

  • Mac OS X El Capitan 10.11
  • XCode 7.0.1
  • Carthage 0.8.0

iOSのライブラリ管理で有名なものとして以下の2つのツールがあります。

  • CocoaPods
  • Carthage(カルタゴ/カッセージ)

前回の記事ではCocoaPodsを使ってみたので今回Carthageを使ってみたいと思います。

Carthage

適用できる環境

  • iOS 8以降

carthageはdynamic frameworkのみをサポートしているため、iOS8以上が条件になっています。

インストール方法

brewコマンドでインストール可能です。

brew update
brew install carthage

ライブラリの追加方法

今回はSwiftの通信ライブラリであるAlamofireを追加してみることにします。

1.Cartfileの作成

プロジェクトディレクトリにCartfileを作成し、インストールするライブラリのリポジトリを指定します

Cartfile

github "Alamofire/Alamofire"

以下のようにライブラリのバージョン指定も可能です。

Cartfile

github "Alamofire/Alamofire" == 3.0.0
記号 説明
== 0.1 バージョン0.1のみ
>= 0.1 バージョン0.1以降の最新バージョン
~> 0.1.2 0.1.xの最新バージョン

2.インストールの実行

以下のコマンドを入力すると、Cartfileの内容に基づいてソースコードの取得、ビルドが実行されます。

carthage update

updateコマンドの実行が完了すると、以下のファイルが生成されます。

Carthageは上記のビルドファイル以外にもいくつかのファイルを生成します。
Carthageが生成するファイルは以下のとおりです。

  • Cartfile.resolved
    • 依存関係を含めたバージョンを管理するファイルです。マニュアルで変更してはいけません。
  • Carthage/Build
    • ビルドされたファイルが格納されます。
  • Carthage/Checkouts
    • チェックアウトされたソースコードが格納されます。

ビルドディレクトリには、iOSOSXWatchOSの各プラットフォーム用のビルドファイルが生成されます。
もし特定のプラットフォームのファイルのみ生成したい場合は、以下のように--platformオプションをつけてupdateコマンドを実行します。

carthage update --platform iOS

3.生成されたフレームワークの追加

プロジェクトのGeneralタブのEmbedded Binariesに、AlamofireをDrag & Dropします。

対象ファイル

Carthage/Build/iOS/Alamofire.framework

4.importする

あとは下記のようにImportして使えるようになります。

import Alamofire

5.Build Phasesへのスクリプト追加

プロジェクト設定のBuild PhasesのタブでをクリックしてNew Run Script Phaseを選択し、Shellのところに以下の内容を設定します。

/usr/local/bin/carthage copy-frameworks

この設定をしないとStore申請で問題がでるようです。

TAG

  • このエントリーをはてなブックマークに追加
金子 将範
エンジニア 金子 将範 rubyist

新しいことや難しい課題に挑戦することにやりがいを感じ、安定やぬるい事は退屈だと感じます。 考えるより先に手が動く、肉体派エンジニアで座右の銘は諸行無常。 大事なのは感性、プログラミングにおいても感覚で理解し、感覚で書きます。