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
という環境変数を設定しておくとバンドルが組み込まれます。
参考