タイトルにある通り、React Native で発生したビルドエラーについてです。
地図の実装に「@rnmapbox/maps」というライブラリを使用しているのですが、先日不具合の修正のついでにバージョンを 10.1.11 から 10.1.19 にアップデートしたら、Xcode で Archive をした時に「linker command failed with exit code 1 (use -v to see invocation)」エラーが発生しました。
解決方法を先に書きますと、下記コマンドで @rnmapbox/maps
ライブラリをダウングレードしたら、ビルドエラーが発生しなくなりました。
npm install @rnmapbox/maps@10.1.11
Simulator で動作確認をした際には何も問題なく動作していたので、node_modules
ディレクトリを削除してライブラリをインストールし直したり、Pods
を削除して CocoaPods
を再インストールしたり、キャッシュをクリアしたりしましたが、この方法では解決しませんでした。
なお、キャッシュのクリアは下記の記事を参考にしました。
React Nativeでキャッシュをクリアしよう #reactnative – Qiita
https://qiita.com/krile136/items/3f74ea94bac009bb8b27
Simulator で実行した際にエラーが発生しなかったので、ライブラリのバージョンが問題だと気づかなくて、対処に時間がかかりました…。
また、「linker command failed with exit code 1 (use -v to see invocation)」で検索すると、.xcworkspace
ファイルを開いているか?や、CocoaPods をインストールまたはアップデートする、などの検索結果ばかりがヒットして…実質ノーヒントで対処している心境でした。
何はともあれ解決できてよかったです…。
軽率にライブラリを更新するのはやめましょう…。
以上、React Native の iOS アプリで @rnmapbox/maps
ライブラリを更新したら「linker command failed with exit code 1 (use -v to see invocation)」エラーが発生した時の対処方法でした。
ご参考になれば幸いです。