読者です 読者をやめる 読者になる 読者になる

wootan's diary

iOSアプリ開発を中心としたエンジニアブログ

CocoaPods関連のメモ

iOS 開発

ネットワークの問題でCocoaPodsのsetupが終る気配がないので
この記事を書いています...
本エントリではCocoaPodsの基本的な使い方などについて簡単にまとめたいと思います。
cocoapods.org

CocoaPodsとは

外部ライブラリの依存管理ツールです。
簡単な記述で外部ライブラリを導入することができます。
iOSアプリ開発ではおなじみのツールですね。

インストール

#gemを最新にする
sudo gem update --system

#インストール
sudo gem install cocoapods

初期設定

#セットアップ
pod setup

#プロジェクトのディレクトリまで移動
cd projectdir
#プロジェクトファイルを元に初期化
pod init

pod initを実行するとプロジェクトフォルダ内にPodfileが生成されます。
ライブラリの指定はこのPodfileに記述していきます。

ライブラリの指定

target 'sample' do
   pod 'hoge'
   pod 'fuga', '1.0'
end

hogeのように記載する場合はupdate時に最新版が適用されます。
fugaのように記載する場合は1.0が適用されます。
以下にバージョンの記載方法についてまとめます。
(この書き方がわからなくなることがあります...)

記載例 適用されるバージョン
'1.0' バージョン1.0
'>=1.0' バージョン1.0以上
'<1.0' 'バージョン1.0未満'
'~>0.2' バージョン0.2以上1.0未満

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

指定ライブラリのインストールを行います。
インストール時にPodfile.lockが作成されます。
Podfile.lockファイルが存在する場合は
Podfile.lockに記載されているバージョンで固定されます。

#インストール
pod install

ライブラリのアップデート

指定ライブラリのアップデートを行います。
Podfile.lockファイルが存在している場合でも
Podfileでバージョン指定されていないものはアップデートされます。

# アップデート
pod update

pod updateがうまくいかないとき

Xcodeを閉じて下記コマンドを実行するとうまくいく場合があります。

#リポジトリ削除
pod repo remove master

#セットアップ
pod setup

#インストール
pod install

pod update時にリポジトリの更新をスキップしたいとき

このようなオプションをつけるとスキップできます。
結構時間がかかることがあるので覚えておくと便利です。

pod update --no-repo-update

CocoaPods 1.0.0で気をつけること

以前のバージョンではtarget指定が必須ではなかったのですが1.0.0から必須になっています。ビルド時にエラーになる場合はプロジェクトのクリーンやDerivedDataの削除で動くようになると思います。