woshidan's blog

あいとゆうきとITと、とっておきの話。

CocoaPodsをつかってみてRealm入れてビルドしようとしたら「~.h」ファイルがないと言われてつまづいた

有線LANのアダプターを購入した結果無事、pod setupに成功いたしました。めでたい。
gitのネットワークの設定より、物理的にネットワーク環境を変えられるのであれば変えたほうが早いですね。

CocoaPodをセットアップする前にはLANのアダプタを無線wifiから有線のアダプタに付け替える、非常に勉強になりました。

CocoaPodの使い方

入れ方はこちらなど。

$ pod setup
# GithubからCocoaPodのリポジトリをcloneしてくる. とにかく時間が掛かる
# iOSのプロジェクトのルートディレクトリで
$ pod init
# => アプリ本体のターゲット、テストのターゲット、UIテストのターゲットに応じたPodfileが生成される
# Podfileに入れたいPodを追加したら
$ pod install

そのあと、ビルドしたいiOSのプロジェクトを.xcworkspaceファイルから開いてビルドします*1

つまったこと

なんとかpod installまで進んだのですが、その後、下記のようにPodfileを書いてCocoaPodsRealmを入れようとしたのですが、'realm/util/features.h' file not foundというエラーメッセージが出てビルドに失敗してしまいました。

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'

target 'iOSTraining' do
  # Uncomment this line if you're using Swift or would like to use dynamic frameworks
  use_frameworks!

  # Pods for iOSTraining

  pod 'Realm', '~> 0.95.3'

  target 'iOSTrainingTests' do
    # Pods for testing
    pod 'Realm/Headers'
  end

  target 'iOSTrainingUITests' do
    # Pods for testing
    pod 'Realm/Headers'
  end
end

結局、

github.com

ja.stackoverflow.com

あたりを見て、CocoaPodsのバージョンを0.39.0にしてうまくビルドできないのを回避みたいな感じにしたら、ビルドが通るようになりました。

CocoaPodsで入れたライブラリがうまくビルドできないときは、 CocoaPodsのバージョンを上げ下げ(できたらあげたい...)したら、具合がいいバージョンが見つかるのかもしれない...?

というより安定してビルドができるCocoaPods自身のバージョンをBundlerなどで管理したほうがよいのかな、という感じです。

進捗なんてないんですよ、以上です。

*1:これに気づくまで、 http://stackoverflow.com/questions/30601420/library-not-found-for-lpods-afnetworking と同種のエラーに悩まされていました