React Native アプリの Xcode プロジェクトに Build Configuration を追加する

React Native を使った iOS アプリの Xcode プロジェクトに Build Configuration を追加するとビルドが通らなくて苦戦したので、解消手順を記録しておきます。
執筆時点での React Native のバージョンは 0.55.1 です。

手順

1. Build Configuration の追加

プロジェクトの設定から Staging という名前の Build Configuration を追加します。

2. Build Scheme の追加

Staging という Build Scheme を追加して Run で使う Build Configuration に先ほど作った Staging を指定します。

3. ビルドの失敗

Staging スキームを選択した状態でプロジェクトをビルドするとエラーが出てしまいます。エラーの内容を見ても原因がよくわかりません。以降でこの解消のためにやった手順を紹介します。

4. Target Dependencies に React を追加

Build Phases の Target Dependencies の + から React を追加します。

5. Header Search Paths の追加

アプリケーションのターゲットとテストターゲットの両方について、Build Settings の Header Search Paths の Staging の欄に $(BUILD_DIR)/Release-$(PLATFORM_NAME)/include を設定します。

6. ビルドの成功

やった〜〜〜

余談

Build Phases で実行されている react-native-xcode.sh を見ると Build Configuration の名前に "Debug" という文字列が含まれていると JS バンドルがアプリに組み込まれない(React Native サーバーから読み込む)ようになっていて、また __DEV__ == true となる development モードでバンドルが作られるので、Build Configuration の命名には気をつけましょう。"なんとかDebug" のような名前にしていても FORCE_BUNDLING という環境変数を設定しておくとバンドルが組み込まれます。

https://github.com/facebook/react-native/blob/8aa568e867bbbe7e23ded3651f23581ff2753323/scripts/react-native-xcode.sh#L19-L32

参考

https://github.com/facebook/react-native/issues/11813#issuecomment-273279257

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.