CocoaPodsでのライブラリインストール【iOSアプリ】

CocoaPodsとは

iOSアプリを作成するときに様々なライブラリを使用することがあると思います。
様々なライブラリを使っているとその管理が大変になってくると思います。
またライブラリの導入にもたとえばgithubからダウンロードして手動でプロジェクト追加などの手間があります。

そこでCocoaPodsを使うことによって導入の手間や管理の手間の削減ををこないます。
CocoaPods公式サイト
cocoapods.org
本記事ではCocoaPodsのインストールからライブラリの一つであるRealmのインストールまで行いたいと思います。

CocoaPodの導入

まずはじめにCocoaPodsのインストールを行います。
インストールはターミナルから行います。
なのでまずはターミナルを開きましょう。(/Applications/Utilities/ターミナル.app)
ターミナルで以下のコマンドを実行します

sudo gem install cocoapods

インストールが終わるのにネットワークの状況にもよりますが少し時間がかかるので待ちます。
これで以下のような結果になればインストールが完了しています。
f:id:setomoki:20170325145607p:plain

次にCocoaPodsのライブラリ情報のセットアップを行います。
ターミナルで以下のコマンドを実行します

pod setup

以下のような結果になればセットアップが完了です。
f:id:setomoki:20170325150115p:plain

ちなみにこのセットアップにより「~/.cocoapods」フォルダにライブラリの情報がダウンロードされています。

ライブラリ使用のためのサンプルプロジェクト作成

本記事ではCocoaPodsを使ってデータベースライブラリである「Realm」をインストールします。
そのためのサンプルプロジェクトの作成を行います。
まずXcodeを開きます。(/Applications/Xcode.app)

Xcodeを開いたらFile⇨New⇨Project
を選択します。
f:id:setomoki:20170325152047p:plain
次に「iOS」タブ内の「Single View Application」を選択し「Next」をクリックします。
f:id:setomoki:20170325152505p:plain

「Product Name」などを入力して「Next」をクリックします。
今回は以下の画像のように入力しています。
f:id:setomoki:20170325152810p:plain

好きな場所に保存先を選択し「Create」をクリックしてサンプルプロジェクトの作成完了です。

ライブラリ(Realm)のインストール

先ほど作成したプロジェクトをXcodeで開いている方は一旦閉じてください。
(最小化などではなく閉じておいてください。)
ここからはまたターミナルでの作業になります。
ターミナルで先ほど作成したプロジェクトの場所まで移動します。
(RealmSample.xcodeprojが入ってるフォルダ)

cd パス/RealmSample

移動ができたら次のコマンドを実行します。

pod init

これで必要なPodfileが自動的に生成されます。
lsコマンドで確認するとPodfileが増えています。
f:id:setomoki:20170325154110p:plain

生成されたPodfileの中身は以下のようになっています。
f:id:setomoki:20170325154822p:plain

target 'RealmSample' do
から
end
までの間に使いたいライブラリを書きます。
今回はRealmを使いたいので

pod  'RealmSwift'

を追記します。
f:id:setomoki:20170325155106p:plain

追加が完了したら

pod install

を実行します。

これでライブラリのインストールが完了します。
完了すると以下のファイルが増えていると思います。

  • <プロジェクト名>.xcworkspace
  • Podsフォルダ
  • Podfile.lock

ここからは
プロジェクト名.xcodeproj
ではなく
プロジェクト名 .xcworkspace
を開いて開発をしていきます。

本記事はここまでで
次回の記事でRealmを使用していきたいと思います。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
この記事はほぼサーバなどを触ったことがない人物が学んだことを整理するために書いていますので間違いなどが多々あると思います。間違いなどありましたら是非コメントなどで教えていただけると幸いです。