サイト名変更・お引越しのお知らせ

【入門】Carthageとは?使い方解説

iOSライブラリ管理ツールであるCarthageの導入の仕方や使い方を説明します。

ライブラリ管理ではよく使われるツールです。

Carthageとは

まず簡単に概要を説明します。

知っている方はスキップしてください。

Carthageとは何か

Carthageとは様々存在するiOSアプリのライブラリを管理するツールです。

読み方はカッセージもしくはカルタゴです。

CocoaPodsというライブラリ管理ツールが以前は主流でしたが、現在はCarthageが主流になっています。

特徴

CocoaPodsに比べてビルドが早いことが特徴。

ビルでの高速化は大きなメリットです。

補足

CocoaPodsは今も利用されています。

Carthageの使い方入門

それではCarthageの使い方を見ていきましょう。

今回は通信ライブラリのAlamofireというライブラリを使用できるようにしてみます。

Almorefireの使い方についても解説していますのでよかったらどうぞ!

Carthageのインストール

まずはCarthageをHomeBrew経由でインストールするので、ターミナルでこのコマンドを実行してください。

$ brew install carthage

Cartfileの準備

次はCarthageをプロジェクトに導入するための準備です。

まずはCartfileという使用ライブラリを記述していくファイルを作成します。

Carthageを導入したいプロジェクトのディレクトリをターミナルで開いてください。

$ cd SampleCarthage/

Cartfile をtouchコマンドなどで作成します。

$ touch Cartfile

Cartfile を編集するのでVimなどのお好きなエディタで開きます。

$ vim Cartfile

次に使用したいライブラリを Cartfile に記述していきます。

$ github "Alamofire/Alamofire"

プロジェクトにCarthageを導入

次にライブラリを以下のコマンドでビルドします。

時間がかかるので根気よく待ちましょう

$ carthage update --platform iOS

ビルドが完了したらプロジェクトを開きます。

開いたらプロジェクトファイル -> Targetの方のプロジェクト -> Generalを開きます。

すると下の方にLinked Frameworks and Librariesがあるので「+」ボタンを押しましょう。

Xcode General設定

このようなポップアップが表示されるのでAdd Otherを押します。

Xcodeポップアップ

プロジェクトファイルのディレクトリが表示されるので、Carthage/Build/iOS/Alamofire.frameworkを選択し、Openを押します。

Alamofireの追加

するとAlamofire.frameworkが追加されます。

Alamofire追加結果

次はBuild Phasesタブに移動します。

一覧の上に「+」ボタンがあるので押しましょう。

Xcode Build Phases

このようなポップアップが表示されるのでNew Run Script Phasesを押します。

Xcode New Run Script Phases

一覧の一番下にRun Scriptが追加されたと思います。

まずはここのShellを以下のように変更しておきます。

/usr/local/bin/carthage copy-frameworks
Xcode Script変更

次にInput Filesの「+」を押しましょう。

Xcodeスクリプト追加

1つ追加されると思うので以下のように変更します。

$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
Xcodeスクリプト追加結果

このようになればOKです。

Xcode Carthageスクリプト追加結果

これでCarthageの導入は完了です!

あとはSwiftファイルでimportをすれば使えるようになります!

利用例

import Alamofire

Alamofire.request("https://qiita.com/api/v2/tags/iOS/items").response { response in
            guard let data = response.data else {
                return
            }
            print(data)
        }
    }

Carthage使い方まとめ

  • Carthageはライブラリ管理ツールでビルドが高速
  • Homebrewでインストール
  • Cartfileを作成しライブラリを追加したり更新したりする
  • $ carthage update でインストール
  • プロジェクトにライブラリを追加

iOSのライブラリ管理のスタンダードCarthageの導入は実際の仕事や有名なアプリケーションでもよく利用されています。

他の記事やチュートリアルでも利用していますので、基本的な使い方を理解し積極的に利用していきましょう。

モグモグさん

何か質問等があればコメントをお願いします