既存iOSアプリへのReact Native導入とcocoapods-fix-react-native

  • 既存iOSアプリへのReact Native導入は公式にドキュメントが用意されている
  • その手順に従うと、React Nativeの依存解決にはCocoaPodsを使うようになっている
    • 一方 react-native init で新規にプロジェクトを作成する場合は、各ライブラリがstatic libraryとしてxcodeprojに直接設定されるようになっている
  • React NativeのCocoaPodsサポートではsubspecが使われているが、subspecではヘッダーのディレクトリが分割されないので、static libraryとして組み込む場合とは一部ヘッダーのインポート方法が異なってビルドエラーになる
    • 他にもエラーになる要因はいくつかある
  • そのような問題を解消してくれるのが https://github.com/orta/cocoapods-fix-react-native/ というCocoaPods用のプラグイン

ということで、既存iOSアプリにReact Nativeを導入したい場合はcocoapods-fix-react-nativeプラグインを使っていきましょう 💪