🖥️

Umbrella header for module 'GoogleUtilities'~というエラーに遭遇

2021/08/21に公開

iOSアプリ開発の勉強を始めていて、「xcodeでビルドは通るけどCanvas(SwiftUIで実装しているUIが随時反映されるxcodeの機能)ではエラーが出てプレビューできない」という状態に...

「Lexical or Preprocessor Issue Group~」というフォルダ内に出てきた複数のエラーメッセージは以下の通り。

Umbrella header for module 'GoogleUtilities' does not include header 'GULAppDelegateSwizzler.h'
Umbrella header for module 'GoogleUtilities' does not include header 'GULAppEnvironmentUtil.h'
Umbrella header for module 'GoogleUtilities' does not include header 'GULAppEnvironmentUtil.h'
(その他同じようなエラーが複数)

それぞれのエラ〜メッセージに「Google」と出てきていること

Firebase(FireStoreとAuthentication)のライブラリをPodでインストールしていたこと
から、その辺の話か?
と見立てていると以下の記事が
https://stackoverflow.com/questions/58540898/update-my-pod-causes-error-in-googledatatransport-umbrella-header/58543307

この記事の通り、以下のコマンド

rm -rf ~/Library/Developer/Xcode/DerivedData/
pod deintegrate
pod update

で解決しました。(正確にはM1 macのためpodコマンドは少し異なりますが...)

DerivedDataはキャッシュの溜まり場的なものらしく、たまにこれが悪さをするせいで今回のようにCanvasでのプレビューができなかったりビルドでコケたりすることがあるようです。

今回はStackOverflowの通りDerivedDataディレクトリを丸ごと削除しましたが、これだと次回ビルド時にかかる時間が長くなってしまうようです。
あとはDerivedData ディレクトリ内にはxcodeで開発しているプロジェクト全てのキャッシュなどが含まれていそうな気がするので、その点でも削除は慎重に行なったほうがいいと思われます。

以下の記事が大変参考になりましたので、こちらもぜひご活用ください!
(DerivedDataディレクトリを丸ごと削除しない方法も紹介されています。)
https://dev.classmethod.jp/articles/remove-xcode-derived-data/

閲覧された方のお力になれれば嬉しいです!

Discussion