Pod Install周りでハマった
iOSを複数人で開発するときは基本的にここに書いてある内容にそってgitignoreをしつつ、必要に応じてPods/以下もignoreする。
今回知り合いと作っているアプリでもPods/以下をignoreしているのだが、そうするとpod install時にしばしばエラーが出て怒られる。
昨日もとあるエラーが出たので「なんかSDWebImageのバージョン違うのかな?」と思って慌ててPods/以下をrm -rdf した後にpod installし直そうとした。そしたら今度は
[!] An error occurred while performing `git pull` on repo `master`. [!] /usr/local/bin/git pull --ff-only Cannot pull with rebase: You have unstaged changes. Please commit or stash them.
という別なエラーが出て、cocoapods自体をgemで入れ直したり、git-configに--ff-onlyがデフォルトになるようになど色々やってみたもののどれもうまくいかず。
最終的にはこの記事に書いてある内容でうまくいった。
pod installがうまく動かなくなった時に試してみること
$ pod repo remove master $ pod setup
なんでこうなるかは理解できていないが。 unstaged changesって何だろう。
ただ、こういうときは一旦削除して入れ直す、というアプローチは自然なのかもしれない。さすがにPods/以下を削除してもしょうがない感じはするが。。
そして、最初に述べた「とあるエラー」は、Xcode6(beta)で起動していたことが問題であるらしい。次のコマンドでXcode5を起動することにより解決。
$ open プロジェクト名.xcworkspace -a Xcode
詳細は触れないが、Xcode6に移行するときに捨て去るコードがあるのかもしれない