LoginSignup
9
8

More than 5 years have passed since last update.

Carthageでライブラリインストール

Last updated at Posted at 2017-08-01

Carthageでライブラリをインストール手順について記載します。
今回は例として、ローカルDBライブラリ Realm をインストールします。

※Realm
https://realm.io/docs/swift/latest/

環境

macOS 10.12.5 (Sierra)
Xcode v8.3.3
Homebrew 1.2.1
Carthage 0.20.1

事前説明

Carthageとは

Swift製のライブラリ管理ツール。
ライブラリを事前にビルドし、フレームワークを作成してくれるので、コンパイル時間を短くしてくれる。

※ CocoaPodsとの違い
CocoaPodsも同じくライブラリ管理ツール。都度ライブラリをビルド・更新するCocoaPodsに対し、Carthageは事前にビルドしてフレームワーク作成をするので、コンパイル時間が短くなる。個人的にはCarthageの方がおすすめ。

手順

  1. 準備:homebrewインストール
  2. 準備:carthageインストール
  3. cartfileを作成
  4. ライブラリインストール
  5. Xcodeの設定

1. 準備:homebrewインストール

homebrewとは、Mac OS X オペレーティング・システム上でソフトウェアの導入を単純化するパッケージ管理システム。要は、homebrewを使うと、様々な便利パッケージなどをインストールできる。

※補足:homebrewメリット

  • 依存関係でインストールされるソフトが少ない。インストールしたいパッケージに不要なソフトがついでにインストールされてしまう、ということが少ない。
  • 極力Macに入っているものを使ってくれる。パッケージ導入時のシステムへの負担や、インストールにかかる時間が比較的少なく済む。
  • スーパーユーザでコマンドを実行する必要がない。
インストール方法

Homebrewの公式ページに書かれているコマンドを叩く。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

注意:fishshellなどを用いていて上記のコマンドが叩けない場合がある。その際は bashと打って、bashに切り替える。

2. 準備:carthageインストール

インストール方法

homebrewインストール後、下記コマンドを叩く。

$ brew install carthage

3. cartfileを作成

carthageは、Cartfileに記載されたライブラリをインストールする仕様である。
まず、Cartfileを自分で作成する。例えば $ touch Cartfile コマンドで。

次にCartfileを編集する。 vimを使うなら、 $ vi Cartfile コマンド。
下記を記載しよう。

github "realm/realm-cocoa"

ここに書くものは、ライブラリのgithubトップページのReadmeに基本的に記載されているので、そちらを参照にする。
ここで、バージョンはコミット番号を指定したりできるが、今回は省略。

4. ライブラリインストール

Cartfileの作業が完了したら、carthageのupdateを実行する。
ライブラリのバイナリを生成するので、少々時間がかかる。

$ carthage update
$ carthage update --platform ios # os指定したい場合はコレ

これでライブラリのインストール自体は完了。次にXcodeの設定をする。
もしgitでソース管理している場合、バイナリをpushしてしまうとgitが壊れることがあるので要注意。 Carthage/ 配下にあるファイルはgitignoreしておいた方がよい。

5. Xcodeの設定

2つ設定する必要がある。

  • Linked Frameworks and Libraries にライブラリ追加
  • Build Phasesに追加
Linked Frameworks and Libraries にライブラリ追加

起動したApplication > TARGETS > Generalタブ > Linked Frameworks and Libraries にライブラリのframeworkを追加する。

今回は、 Carthage/Build/iOS/ 配下にある Realm.frameworkRealmSwift.framework を追加しよう。drag-and-dropで追加できる。

これで、RealmDBを利用できるようになる。

Build Phasesに追加

アプリケーションを申請する際に、iTunesConnectの不具合を回避するために、この手順は必須。

起動したApplication > TARGETS > Build Phasesタブ にある + ボタンをクリック、 New Run Script PhaseをクリックしてRun Scriptを追加する。

黒背景部分に下記を記載する。どのライブラリでも共通。

/usr/local/bin/carthage copy-frameworks

Iput Filesに追加するライブラリ情報を下記のように記載する。

$(SRCROOT)/Carthage/Build/iOS/Realm.framework 
$(SRCROOT)/Carthage/Build/iOS/RealmSwift.framework

まとめ、補足

これでRealmライブラリの導入が完了です。コード上で import RealmSwift ができるはずです。もしできなかったらXcodeを再起動しましょう。

ちなみに、git上にライブラリのバイナリをアップロードしないことがおすすめなので、複数人でgit利用している場合は各々で carthage update しないといけなかったり。その場合、ライブラリのバージョンを揃えないといけなかったり。

その説明は、また別の機会に。

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8