MILLEN BOX 2

個人iOSアプリ開発者hollymotoによる勉強の記録。時々雑記。

私的CocoaPodsのツボ

CocoaPods、使ってますか??

私はというと、一応使ってはいるけど使いこなしているとは言い難い、正直管理ツールなんて使わないでもそのまんまライブラリぶち込む方が精神衛生上いいかも...なんて思っている不届きものです。
とは言いつつも無いと不便にも感じるCocoaPods。今回は超個人的な備忘録をお恥ずかしながらWebに残しておきたいと思います。

本当に超個人的なものなので言葉足らずな部分が満載ですが脳内保管をお願いします。

CocoaPods自体のインストールや管理

CocoaPodsインストール方法

まずターミナルで以下のコマンドが通るか確認。
install先を /user/local/bin とlocalを指定しないと permission error になることがある。

$ sudo gem update --system -n /usr/local/bin
$ sudo gem install -n /usr/local/bin cocoapods

インストールが終わった段階で、以下のsetupコマンドを叩く。必ず。約束。

pod setup

CocoaPodsアップデート方法

これ使って。

sudo gem update cocoapods

updateの後も必ずsetupすること。約束。

pod setup

エラー??

pod setupの後、以下のようなメッセージが表示されたことが。

Setting up CocoaPods master repo
  $ /usr/bin/git clone https://github.com/CocoaPods/Specs.git --progress --
  master
  Cloning into 'master'...
  remote: Enumerating objects: 3169, done.        
  remote: Counting objects: 100% (3169/3169), done.        
  remote: Compressing objects: 100% (2417/2417), done.        
  error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
  fatal: the remote end hung up unexpectedly
  fatal: early EOF
  fatal: index-pack failed
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git --progress -- master

Cloning into 'master'...
remote: Enumerating objects: 3169, done.        
remote: Counting objects: 100% (3169/3169), done.        
remote: Compressing objects: 100% (2417/2417), done.        
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

以下のコマンドを叩いてgitのバッファ量を増やすと解決したことがある。

$ git config --global http.postBuffer 2M

参考

xcode - RPC failed; curl 56 SSLRead() return error -9806 MiB/s - Stack Overflow

エラー?? Part.2

CocoaPodsアップデートでもPermissionエラーになることがある。 その場合にはこれ使って!

sudo gem update cocoapods -n /usr/local/bin

CocoaPodsでのライブラリ管理あれこれ

一先ず落ち着いてこれ叩いてみよう

podと叩くと、出来ることが大体一覧で出てくる。焦っている場合には、これ見て心を冷静に戻そう。

新規プロジェクトを作ったら

新規プロジェクトを作ったら間違いなくこれはしないといけない。

pod init

これを叩くとPodfileが出来る。この中に入れたいライブラリを書く。記載方法は割愛。

installとかupdateとか

新規プロジェクトの時だけでなく新しくライブラリを追加した時なんかにはinstallをすること。

pod install

ここにもそう書いてある。

CocoaPods Guides - pod install vs. pod update

じゃあupdateは??
pod updateは更新したいライブラリがある時だけ使用する。 updateはPodfile.lock を無視するので時間がかかることも。

pod update

新規プロジェクトで環境を整える時間を短縮したい場合

pod install --no-repo-updateを使ってみよう。
最新のやつじゃないとダメということでなければわざわざ落としてこないため、時間の短縮になる。

pod install --no-repo-update

逆に言うとなければ落としてきちゃうので、定期的に夜な夜なにpodをupdateするようなプロジェクトを作っとくと外出先で無駄な時間を過ごさなくて良い。