Macに移行してすぐCocoaPodsを使ったらハマったお話

cocoapodsでライブラリを導入しようとPodfileを作成して「pod install」をした所、以下のようなエラーが出た。

$ pod install
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.35.0/lib/cocoapods/user_interface/error_report.rb:13:in `report': incompatible character encodings: UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)
	from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.35.0/lib/cocoapods/command.rb:58:in `report_error'
	from /Library/Ruby/Gems/2.0.0/gems/claide-0.7.0/lib/claide/command.rb:300:in `handle_exception'
	from /Library/Ruby/Gems/2.0.0/gems/claide-0.7.0/lib/claide/command.rb:274:in `rescue in run'
	from /Library/Ruby/Gems/2.0.0/gems/claide-0.7.0/lib/claide/command.rb:264:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.35.0/lib/cocoapods/command.rb:45:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.35.0/bin/pod:43:in `<top (required)>'
	from /usr/bin/pod:23:in `load'
	from /usr/bin/pod:23:in `<main>'

■結論

Podfileの中身の引用符が間違っていた。
Macのテキストエディットのスマート引用符で'が‘や’、"が“や”になっていた。
とりあえず、'を入力して‘とかに自動的に変わったら取り消すをして、スマート引用符で自動変換された所を元に戻して対処した。

■経緯

iOSOpenCVを使うので、
SwiftでOpenCVを使ってみた|画像処理だけで飯が食えるかっ!?
Swift + OpenCVでリアルタイムに顔認識してみた1 - Give it a shot

とかを参考にProjectへの組み込みを進めてみるが、まず、軽く書いてある Podfile(単純なテキストファイル)の作り方が分からない。


Windowsだとエクスプローラーで右クリックメニューでファイル作ってかな。と思ったけど、ファインダーでテキストファイルの作り方が分からない。


しょうがないから、標準のテキストエディターっぽいテキストエディットを開いて、保存する。
これも当初メモ帳どこ?メモ帳どこ?状態だった。command+spaceでSpotlight検索にテキストってうって呼び出した。


Podfileを編集して保存しようとすると、今度は普通のテキスト形式での
保存がない。これは「メニュー→フォーマット→標準テキストにする」で、あらかじめ標準テキストにしておくだった。
保存する時「拡張子が未指定の場合は、“.txt”を使用」のチェックも外しておく。


やっと保存できて、ターミナルで「pod install」すると、上のエラーメッセージになって、エラーメッセージで検索しても意外と情報が無くてハマった。


最初英語なので、読んでなかったココに引用符の間違いが指摘されていたので、ひょっとして、これ見た目が変わってるだけじゃなくて別の文字コードになってる?と思ったら、テキストエディットに「スマート引用符の取り消し」とあり、ナンダコレ?となった。
スマート引用符での自動変換を取り消すようにして、Podfileを修正。

platform :ios, “8.1”
pod ‘openCV’

platform :ios, "8.1"
pod 'openCV'


改めて、「pod install」。

$ pod install
Analyzing dependencies

CocoaPods 0.36.0.beta.1 is available.
To update use: `gem install cocoapods --pre`
[!] This is a test version we'd love you to try.

For more information see http://blog.cocoapods.org
and the CHANGELOG for this version http://git.io/BaH8pQ.

Downloading dependencies
Installing OpenCV (2.4.9.1)
Generating Pods project
Integrating client project

[!] From now on use `Test150112.xcworkspace`.

となり、成功!