LoginSignup
23
13

More than 5 years have passed since last update.

【クソ食らえ】CocoaPods プロジェクトで "〜 .h" file not found と戦う

Last updated at Posted at 2016-11-25

※ 現在進行形のため、これがベストソリューションかどうかは、不明です。

CocoaPodsで入れたはずのライブラリが見つからない現象。
ググっても、ググっても、決定打になる解決策がなかなか見つからない……。

で、結局何をしたら直るのか

あらかじめ断っておくと、この方法ですべての人が解決するわけではないです
あしからず……。
私の場合の決定打は、後半に記載。

開発環境

  • Xcode 8.1
  • CocoaPods 0.39.0 → 1.1.1 (耐えかねてアップデート)

解決方法

結局のところ、以下の方法を試した所、うまくビルドできるようになりました。

CocoaPods を 1.1.1 にアップデート

CocoaPodsは、それまで0.39.0を使用していたのですが、1.1.1にアップデートしました(いまさら?)。
アップデートした後は、Podsディレクトリを一旦、綺麗さっぱり削除して、pod installし直しました。

部署の先輩の端末では、これでうまくいったの。
cd ~/.cocoapods/repos/master
git checkout master

sudo gem install cocoapods
cd {プロジェクトのディレクトリ}
pod deintegrate {プロジェクトの}.xcodeproj
rm -fr Pods
pod install

でも、僕はうまくいかなかった。。。

Pods ディレクトリを Git 管理下に入れる

それならばと、pod install済みのPodsディレクトリもGit管理することを試しました。
つまり、ビルドできる環境をまるごとPullしちゃえばいいってこと!いけそう!!

100MB近くなったブランチをpullする...
ビルドする...
"....... .h" file not found.
\(^o^)/

うまくいかなかった!!!!
もちろん、一部ではPodsディレクトリもGit管理した方がいいよ〜という開発チームもありますが、うちではうまくいかなかった!
(端末名や、プロジェクトのディレクトリがそれぞれ違うからなのかなぁ……)

Build Location を Unique に変更 (← 決定打

(どういうわけか、)うまくいきました!!

Unique に変更

まず、Workspace Settings から、Build LocationUnique に変更します。

スクリーンショット 2016-11-25 16.12.29.png

スクリーンショット 2016-11-25 16.12.35.png

スクリーンショット 2016-11-25 16.12.39.png

めっちゃClean する

Derived Dataも含めてCleanします!!
Cmd + Option + Shift + kです!

scsho.png

普通のCleanと、どう違うのかな??

pod installする

pod installします

ビルドする

できました!!!

最終的には、コチラのStack Overflowを参考にしながら作業していました。
http://stackoverflow.com/questions/37377450/cocoapods-1-0-header-files-not-found

で、結局、原因は何なのか……

わかりません。
でも、チームそれぞれのホームディレクトリの名前の違いや、プロジェクトファイルを置いているディレクトリの違いなどが影響しているのかなと予想しています。。。

CocoaPodsむずかしい……。
でも、アップデートできてよかったかも!!


それにしても、ほんっとCocoaPodsはくせ者で、定期的に苦しめられてきました。
【クソ食らえ】CocoaPodsとApple Mach-O Linker Errorとlinker command failed with exit code 1でどハマり

そして今回も……。

見つからない……。
見つからない……。

見つからない……!!!
見つからない……!!!

うまくビルドできても、また pod install や ブランチ切り替えているうちに、できなくなっちゃってたんですよねー……。

ひとまず、ビルドできるようになってよかった。
めでたしめでたし!

23
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
13