【React Native】iOSアプリのArchiveが失敗する

滅茶苦茶ハマったので備忘録としてまとめ。
同じことにお悩みの方の参考になればと思います…!
タイトル通り、React Native で開発した iOS アプリを Xcode から Archive しようとしたときに失敗する時の対処法についてです。

 

リリース前のアプリの公開に、DeployGate というサービスを利用しているのですが、そちらで公開しているアプリを更新するために、ipa ファイルを生成しようと、Xcode から Archive しようとしたら…失敗しました。
先週までは問題なく Archive できていたのに!?
で、前回からの変更点は React Native Firebase ライブラリを使って、アプリに Firebase を導入したくらいだったので、まずはそちらからアプローチすることにしました。
…が、React Native Firebase の GitHub の issues を検索してみても解決策はヒットせず…。

で、キーワードをいろいろ変更して検索していたら下記の記事にヒットしました!

XCode Build works Archive fails · Issue #28910 · facebook/react-native · GitHub
https://github.com/facebook/react-native/issues/28910

まさに私の同じ症状!ということで読んでみたところ、なんと解決策は #import #ifdef FB_SONARKIT_ENABLED の前に記述することでした!
え、それだけ…?と思いつつも、そこを修正してから Archive を実行してみたところ…Archive に成功しました!

何故これで動作するのかわかっていないのですが、どうやら #ifdef FB_SONARKIT_ENABLED の下で指定すると、Firebase.h が正しくインポートできないため、Archive に失敗するようでした。
じゃあ何故実機ビルドの時は成功したのでしょうか…?
若干腑に落ちませんが…成功したので良しとします!

 

以上、React Native で開発した iOS アプリを Xcode で Archive したときに失敗する時の対処法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG