[Swift] CocoaPods導入手順・利用方法
Swiftにおけるライブラリ管理ツールであるCocoaPodsの導入手順と利用方法について説明する。
1. CocoaPodsをgemでインストールする。(人によってはこれで失敗することがあるようです。その場合はインストールディレクトリを-nオプションで指定してあげると良いみたいです。)
sudo gem install cocoapods
2. CocoaPodsをセットアップする。(結構時間かかる)
pod setup
ここまでで準備完了。
実際にCocoaPodsを使ってライブラリ管理する方法を下記に記載する。
1. iosプロジェクトファイルのルートに移動し、次のコマンドを実行する。
pod init
これでPodfileが作成される。
※ Podfileとは、ライブラリを管理するファイルであり、ここにプロジェクトで使用したいライブラリを記載する。
2. Podfileにプロジェクトにインストールしたいライブラリの情報を記載する。
Podfileの中身は
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'testApp' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for testApp target 'testAppTests' do inherit! :search_paths # Pods for testing end target 'testAppUITests' do inherit! :search_paths # Pods for testing end end
こんな感じになっているだろう。(testAppはアプリ名)
そしてこの、
target ‘testApp’ do ~ endの中(# Pods for testAppの下とか)に
インストールしたいライブラリの情報を記載していく。
例えば、
Alamofire(httpリクエスト等を簡単に行えるライブラリ)をプロジェクトにインストールしたい場合には
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'testApp' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for testApp pod "Alamofire" target 'testAppTests' do inherit! :search_paths # Pods for testing end target 'testAppUITests' do inherit! :search_paths # Pods for testing end end
このように編集すれば良い。
ライブラリのバージョンを指定したい場合には
pod 'Alamofire', '~> 1.0'
上記のような記載の仕方をすれば、毎回指定したバージョンでインストールされる。
3. ライブラリをプロジェクトにインストールする。
(プロジェクトファイルを開いたxcodeは閉じておく)
pod install
4. プロジェクトファイルを開く
CocoaPodsでライブラリ管理されたプロジェクトを開く際は、
通常のxcodeprojファイルではなく、
pod installを行うことで生成されたxcworkspaceファイルをxcodeで開くようにする。
この時点でプロジェクトファイルにライブラリがインストールされており、
プログラム中でライブラリの処理等が使用可能となる。
(xcodeでxcworkspaceファイルを開くと、プロジェクトのディレクトリとは別にPodsというディレクトリが読み込まれていれば成功である。ここインストールしたライブラリが格納されていく。)
5. 初回以降のライブラリ追加
初回と同様にPodfileを編集したあと、pod installを行う。
また、
初回以降はpod updateを行うと書いているサイトを見かけるが、間違いである。
pod install : Podfile.lockを見てライブラリのインストールを行う。
pod update : Podfile.lockを見ずに最新のバージョンのライブラリをインストールする。
共通 : Podfile.lockに記載されていない(インストールされていない)ライブラリがPodfileに記載されていた場合、そのライブラリを新しくインストールする。
※ Podfile.lockとはプロジェクトファイルにインストールされたライブラリのバージョン(ライブラリの中で使われているもののバージョンも含む)を記載している。
このファイルに記載されていることによって、他の人がプロジェクトファイルを落としてきた際に、細かなバージョンの差異が生まれずに済む。
よって、ライブラリのバージョンを最新にしたいと言った要件がない場合は、
基本的にpod installを使うべきである。