ライブラリのリンク
すべてのアプリがすべてのネイティブ機能を使用するわけではなく、それらの機能すべてをサポートするためのコードを含めるとバイナリサイズに影響します...それでも、必要に応じてこれらの機能を追加できるようにしたいと考えています。
そのため、これらの機能の多くを独立した静的ライブラリとして公開しました。
ほとんどのライブラリでは、2つのファイルをドラッグするだけで済みます。場合によっては、3番目の手順が必要になることもありますが、それ以上の手順は必要ありません。
React Nativeに付属するすべてのライブラリは、リポジトリのルートにあるLibraries
フォルダにあります。 JavaScriptのみで記述されているものもあり、その場合は`require`するだけです。 一部のライブラリはネイティブコードにも依存しています。その場合は、これらのファイルをアプリに追加する必要があります。そうしないと、ライブラリを使用しようとするとすぐにアプリでエラーが発生します。
ネイティブコードを含むライブラリをリンクするための手順は次のとおりです
自動リンク
ネイティブ依存関係を持つライブラリをインストールする
npm install <library-with-native-dependencies> --save
この手順では、`--save`または`--save-dev`フラグが非常に重要です。 React Nativeは、`package.json`ファイルの`dependencies`と`devDependencies`に基づいてライブラリをリンクします。
それだけです! 次回アプリをビルドするときに、自動リンクメカニズムのおかげでネイティブコードがリンクされます。
手動リンク
手順1
ライブラリにネイティブコードが含まれている場合、そのフォルダ内に`.xcodeproj`ファイルが必要です。 このファイルをXcodeのプロジェクトにドラッグします(通常はXcodeの`Libraries`グループにあります)。
手順2
メインプロジェクトファイル(`.xcodeproj`を表すファイル)をクリックし、`Build Phases`を選択して、インポートしているライブラリ内の`Products`フォルダから静的ライブラリを`Link Binary With Libraries`にドラッグします。
手順3
すべてのライブラリでこの手順が必要になるわけではありません。考慮すべき点は次のとおりです。
コンパイル時にライブラリのコンテンツを知る必要がありますか?
つまり、このライブラリをネイティブ側で使用していますか、それともJavaScriptでのみ使用していますか? JavaScriptでのみ使用している場合は、準備完了です!
ネイティブから呼び出す必要がある場合は、ライブラリのヘッダーを知る必要があります。そのためには、プロジェクトのファイルに移動し、`Build Settings`を選択して、`Header Search Paths`を検索します。 そこにライブラリへのパスを含める必要があります。 (このドキュメントでは以前は`recursive`の使用を推奨していましたが、これはもはや推奨されていません。特にCocoaPodsを使用すると、微妙なビルドエラーが発生する可能性があるためです。)