ReactNativeの開発で、ネイティブのライブラリを使うためにiOSはcocoapodsを利用している。cocoapods 1.4.0では上手く動いていたのに、1.5.3にアップデートするとiOSのビルドが通らなくなってしまった。エラーは以下、
'React/RCTDefines.h' file not found #import <React/RCTDefines.h>
react-native-pickerというライブラリでReactが見つからないみたいだ。こういう時、やることは
- Header Search Pathsの確認
- Cleanする
- PodsのBuild Active Architecture OnlyのDebugをYESからNOに変える
とかなのだが、どれもダメ。結果、react-native-pickerをアップデートしたら治った笑。
どうやら原因は、react-native-pickerのpodspecのdependencyにReactが設定されてなかったことだった。他のライブラリでNativeModule使っていて、cocoapodsを使っている場合で、上記のようなエラーが出た場合は確認してみて欲しい。
他のメンテナンスされてないライブラリで上記の問題が起こったときは、自分のリポジトリにフォークして、以下を追加すれば治すことができる。
Pod::Spec.new do |s| ... s.subspec 'Core' do |ss| ss.dependency 'React' #追加 .... end end