【Unity】Xcodeでビルドするときにlibrary not found for- lGoogleUtilities エラーが出る件について【Admob】

台風にも関わらず快便なmizkyです。

本記事ではXcodeでビルドするときに出るlibrary not found for- lGoogleUtilities エラーへの対処方法を紹介します。

通常、UnityでAdmobの広告を挿入したアプリを開発する場合は、Unityでライブラリ導入&ビルドしてからXcodeで開いて再度ビルドします。完璧に設定したにもかかわらず、

clang: error: linker command failed with exit code 1

とエラーが出る場合があります。それが library not found for- lGoogleUtilities のエラーです。

余談ですが初めは”l(エル)GoogleUtilities“を “I(アイ)GoogleUtilities” と誤認していたので解決策がなかなか調査できず苦労しました。

誤:library not found for- IGoogleUtilities

正:library not found for- lGoogleUtilities

↑「l」(エル)と「I」(アイ)の違いが見た目で判別できないフォントは駆逐されてほしい・・・

1. 環境

  • MacBook Pro (13-inch, Early 2011)
  • mac OS High Sierra 10.13.4
  • Xcode10.1
  • Unity2019.2.9

2. 調査してダメだった対処法

他のブログ等でも library not found for- l** 関連のトラブルシューティングは紹介されています。

2.1. プロジェクト名.xcodeprojではなくプロジェクト名.xcworkspaceからXcodeを開く

最も一般的なトラブルシューティングですがこれでうまくいけば苦労しません。

CocoaPodsを使用している場合、ライブラリを紐づけた状態でビルドするにはxcworkspaceファイルから開く必要があります。

2.2. CocoaPodsの再install

CocoaPodsが古いと最新verのライブラリを使用できない場合があります。再インストールによって最新版に更新すればエラーが解決できる場合があります。

私はエラー解消できませんでしたが・・・

2.3. bitcodeの無効化

Xcode6以前のライブラリを使用する場合、ビルド(リンク)に失敗するのでAppStoreに提出するアプリパッケージに中間コード(bitcode)を含める設定を無効化することでエラーが解決する場合があります。

もちろん、自分はエラー解消できませんでした・・・

2.4. Admobライブラリのバージョンを落としてみる

Xcode10.1がAdmobの最新ライブラリに対応してねーからAdmobライブラリのバージョン落とせばイけるんじゃね?

バージョン落として試しましたが駄目でした・・・

3. 最新のXcode11を使用することでエラー解消できました(笑)

結論から述べると、最新のXcode11を使用することでエラー解消しました。

Admob側のバージョン落として駄目だったのでXcodeのバージョンを上げてみる、という手法が有効でした。

ただ、MacBook Pro (13-inch, Early 2011)はmac OS High Sierra 10.13.4が最新OSとなっており、Xcode11はmac OS Mojave 10.14.4 以上でなければインストールできません。

エラー解消できるかを試すために新しいmacを購入する勇気がなかったので下記のスペックのMacBook Airを短期レンタルしてみました。

  • Apple MacBook Air 1600/13.3 MRE82J/A
  • mac OS Mojave 10.14.4

2日間で9,600円なのでまあまあ高いとは思いますが、試しに11万円のMacBook Airを買う気にはなれませんでした・・・

4. まとめ

今回は library not found for- lGoogleUtilities を解決する方法について書きました。

以下覚えておいて欲しい内容です。

  • IGoogleUtilitiesではなくlGoogleUtilitiesで検索
  • mac OSはmac OS Mojave 10.14.4以上
  • Xcodeは11以上

この記事を見た皆様が私のように時間とお金をドブに捨てずに済めば幸いです。

コメント

タイトルとURLをコピーしました