Tomo.Log()


「Cocoapodsで[Xcodeproj] Generated duplicate UUIDs」がでた話

[07/14, 2022]

こんにちは、トモです。

今回は、Cocoapodsで

[Xcodeproj] Generated duplicate UUIDs

が、出てきた時の話です。

ある日pod updateをしたら上記ワーニングが出てきました。ワーニングだったので、最悪無視してもよかったのですが、いざビルドをしてみたら全然通りませんでた。

なので渋々解決することに。。。。😅

まずは結論

結論から言うとGoogle系のpodの指定の仕方が古かったために、バージョンの違う同名のpodが読み込まれていた(たぶん)からです。

今まで

  pod 'Firebase/Crashlytics'
  pod 'Firebase/Core'

修正後

  pod 'FirebaseCrashlytics'
  pod 'FirebaseCore'

経緯

最初はSpecs.gitとCDN干渉を疑った

検索してみると「Specs.gitとCDNの干渉」による影響とそれの直し方が散見されました。自分もゴニョゴニョしながらいじってみたのですが一向に直る気配がありません。

せっかく pod repo remove cocoapodsしたのに・・・😭

duplicateなpodがGoogle系だけと気づいた

このワーニングが出ると同時に

[!] Unable to read the license file LICENSE for the spec Firebase (9.2.0)
[!] Unable to read the license file LICENSE for the spec GoogleUtilities (7.7.0)
[!] Unable to read the license file LICENSE for the spec Firebase (9.2.0)
[!] Unable to read the license file LICENSE for the spec GoogleUtilities (7.7.0)

というワーニングも出るようになりました。

またpod install時も

Installing Firebase 3.6.0 (was 9.2.0)
Installing Firebase 9.2.0
Installing FirebaseAnalytics 3.4.2 (was 9.2.0)
Installing FirebaseCoreDiagnostics 9.3.0 (was 9.2.0)
Installing FirebaseCoreInternal 9.3.0 (was 9.2.0)
Installing FirebaseInstallations 9.3.0 (was 9.2.0)
Installing FirebaseInstanceID (1.0.9)
Installing GoogleAppMeasurement 9.3.0 (was 9.2.0)
Installing GoogleInterchangeUtilities (1.2.2)
Installing GoogleSymbolUtilities (1.1.2)
Installing GoogleUtilities 1.3.2 (was 7.7.0)
Installing GoogleUtilities 7.7.0

こんな形で、いくつかバージョンの違う同名のライブラリがinstallされています。

なので、

「Firebase/CoreとFirebase/Crashlitcsで違うバージョン使ってるのかな???🤔」と思いました。

で、最初は

  pod 'Firebase'  
 
に統一することで、ワーニングも消えビルドも成功するようになりました。

その後、友人から

CocoaPods を使用するアプリの場合、Firebase Pod は v9.0 以降では非推奨になりました。代わりに、Podfile 内でプロダクトの Pod を直接参照する必要があります(例: Firebase/Core ではなく FirebaseCore、Firebase/Firestore ではなく FirebaseFirestore)。

公式ページより

と言う情報をもらい最終的にスラッシュを取り除いた形でpodを指定することで無事解決しました!!

さくっとpod updateして作業をするつもりだったのに、なんかすごい徒労感が出てしまいました😭

さぁ仕事仕事。。。