【Swift】CocoaPodsで外部ライブラリを使おう

本サイトはアフィリエイト広告を利用しています。
初心者でありそうな事として・・・
  • 難しい処理なんて作れるのかな?
  • ググってみてそれらしいのを見つけたけど、エラーが出る

if文で簡単な処理をすることはできたけど、より複雑な処理はどうすれば良いのだろう?

そんな心配はしなくても大丈夫です。

大抵のものは既に誰かが作ってます。ですので検索してみましょう。

ということで、ググってみたらそれっぽいのが見つかったものの、使ってみようとすると何だか上手くいかない。

もしかしたら、外部ライブラリをインストールしていないから、かもしれません。

CocoaPodsで外部ライブラリを使おう

外部ライブラリを使うには、CocoaPodsを使うと便利です。

公式サイトはこちらですね。

CocoaPods Guides
The Dependency Manager for iOS & Mac projects

ざっくりと説明すると、ターミナルでコマンドを入力することで、外部ライブラリのインストールやバージョン更新がまとめてできるようになります。

CocoaPodsを使えるようにするは少し手順が必要ですが、難しくないので大丈夫です。

CocoaPodsのインストール

ターミナルを起動

Macbookの場合になりますが、画面の右上にこのようなアイコンがあると思います。

この中の、虫メガネのマークをクリックすると、Spotlightが起動します。

ここにterminalと入力しましょう。

このように表示されるターミナル.appを選択します。

公式ページのInstallの説明の箇所にあるコマンドを入力する

ターミナルが起動すると、(ホームディレクトリ)~ % のように表示されます。

%の後に次のコマンドを入力してエンターキーを押します。

sudo gem install cocoapods

Passwordを入力する

この表示が出てきたら、Macのログインパスワードを入力します。

その後、CocoaPodsのインストールが始まります。

その後、次のようにinstalledと表示されていれば、インストールできています。

(数字) gem installed

CocoaPodsのセットアップ

ターミナルを起動した時と同じように%が表示されている状態で、下記コマンドを入力しましょう。

pod setup

CocoaPodsのセットアップが始まります。

最後の方で下記の表示が出ていれば大丈夫です。

Setup completed

Podfileの作成

まず、ターミナルで、外部ライブラリを使いたいXcodeのプロジェクトのディレクトリに移動する必要があります。

ターミナルを起動

% cd 

%が表示されたらcd(半角スペース)と表示させておきます。エンターキーはまだ押さないでください。

Xcodeのプロジェクトのフォルダを表示する

ターミナルからは一旦離れて、外部ライブラリを使いたいアプリのプロジェクトがあるフォルダを表示します。

この時、下の方に階層表示がされていると思います。

フォルダの階層をターミナルにドラッグ

フォルダの表示の右下の部分を使います。

この部分をドラッグして、ターミナルに持っていきます。

ターミナルに重なったときに、次のように表示されますので、ここで離します。

ターミナルで次のように表示されたらエンターキーを押します。

(階層)の部分は、プロジェクトを置いたフォルダの場所によって異なります。

 cd /(階層)/SampleApp

次のように表示されていれば、プロジェクトファイルのディレクトリに移動できています。

SampleApp % 

Podfileを作成

SampleApp % pod init

上記のように、pod initとコマンドを入力して、エンターキーを押します。

しばらく待つと、SampleApp % の表示に戻ります。

ここで、Xcodeのプロジェクトのフォルダを見てみると、Podfileが追加されています。

外部ライブラリのインストール

Podfileを編集

外部ライブラリをインストールするには、まずPodfileを編集する必要があります。

インストールしたい外部ライブラリのGitHubに、Podfileにどのように追記すればいいか記載されいます。

例えば、”Alamofire”と”Charts”の場合は、それぞれのサイトを参照すると、

GitHub - ChartsOrg/Charts: Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.
Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart. - ChartsOrg/Charts
GitHub - Alamofire/Alamofire: Elegant HTTP Networking in Swift
Elegant HTTP Networking in Swift. Contribute to Alamofire/Alamofire development by creating an account on GitHub.

次のように追記すれば良いことがわかります。

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'SampleApp' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  pod 'Alamofire', '~> 5.4'
  pod 'Charts'

  # Pods for SampleApp

end

ターミナルで、コマンドを入力してインストール

Podfileに追記したら、ターミナルに戻ります。

SampleApp % pod install

上記のようにpod installと入力して、エンターキーを押すと、外部ライブラリのインストールが始まります。

Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.

上記のように表示されればインストール完了です。

Xcodeのプロジェクトで確認

追加されたファイルを確認

再び、Xcodeのプロジェクトがあるフォルダを見て見ましょう。

青いXcodeのプロジェクトファイルとよく似た白いアイコンのファイル(.xcworkspace)が増えていると思います。

これができていればOKです。

外部ライブラリを使う場合は、この白い方のファイルからプロジェクトを開きます。

外部ライブラリをインポート

プロジェクトを開いたら、外部ライブラリが使えるようになっていることを確認しましょう。

ViewController.swift に次のように import (外部ライブラリ名) を追加して、ビルドします。

import UIKit
import Alamofire
import Charts

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

}

ビルドが成功すれば、外部ライブラリがインポートできています。

これで、外部ライブラリが使えるようになりました。

外部ライブラリを追加した後

外部ライブラリの追加・更新

外部ライブラリを使えるようになれば、脱初心者といっても過言ではありません。

今まで以上に色々なアプリを開発できるようになります。

ただ、アプリ開発を進めていると、機能を増やすために外部ライブラリを追加したり、バージョン更新が必要になったりします。

外部ライブラリを追加する場合はpod install、バージョン更新は pod updateを、ターミナルでXcodeのプロジェクトファイルがあるディレクトリに移動してからコマンド実行します。

使い分けは公式サイトをよく確認しておきましょう。

CocoaPods Guides
The Dependency Manager for iOS & Mac projects

Gitで管理する場合

Podfile.lockファイルがXcodeのプロジェクトファイルと同じフォルダにありますが、これをコミット&プッシュするようにしましょう。

公式サイトの先ほどと同じところに説明があります。

CocoaPods Guides
The Dependency Manager for iOS & Mac projects

As a reminder, even if your policy is not to commit the Pods folder into your shared repositoryyou should always commit & push your Podfile.lock file.

Otherwise, it would break the whole logic explained above about pod install being able to lock the installed versions of your pods.

cocoapods pod install vs. pod update

外部ライブラリの管理にCocoaPodsは便利!

外部ライブラリが使えるととても役に立ちます。

むしろ、開発をするには必須と言えるでしょう。

外部ライブラリを1つ1つバラバラに管理するのは大変なので、CocoaPodsのようなライブラリ管理ツールが便利です。

タイトルとURLをコピーしました