🔥
pod installしたら[Xcodeproj] Generated duplicate UUIDs:エラー
色々やってたらSpecs.gitとCDNをどちらも入れてしまい干渉させてしまった。解決策を色々調べたので備忘録として書きます。
発生したエラー
$ pod install
[!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via `pod repo remove master`. To suppress this warning please add `warn_for_unused_master_specs_repo => false` to your Podfile.
結論
共存しているリポジトリのうち、cocoapods(git)の方を削除する。
その後.xcworkspace
、Podfile.lock
のファイル、DerivedData
フォルダを削除し、pod install
すると直った。
やり方
pod repo list
コマンドでリポジトリを確認する
① 以下は、エラー発生時の私の状況
$ pod repo list
cocoapods
- Type: git (master)
- URL: https://github.com/CocoaPods/Specs.git
- Path: /Users/hogehoge/.cocoapods/repos/cocoapods
trunk
- Type: CDN
- URL: https://cdn.cocoapods.org/
- Path: /Users/hogehoge/.cocoapods/repos/trunk
そういえばcocoapods入れたのに、CDNもpodfileに入れてしまったなぁ…と思いながらPodfileも載せておきます。
現状としては、Firebaseをimportしようとしており、deterministic_uuids => false
を試した後です。
詳細はここ。duplicate UUIDsエラーをこれで解決しようとしたんですが、できませんでした。また、エラー文にでてるpod repo remove master
でもmasterなんか無いよって言われてしまう。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0’
install! 'cocoapods', :deterministic_uuids => false
target 'Sample' do
use_frameworks!
pod 'Firebase/Firestore'
② cocoapodsを削除
pod repo remove cocoapods
で上のcocoapodsを削除。
少し時間がかかるので待つ。
③ pod install
消したので、いけるだろうと思いpod install
する。
$ pod install
Analyzing dependencies
Downloading dependencies
Installing Firebase 3.6.0
Installing Firebase 8.4.0 (was 3.6.0)
[!] [Xcodeproj] Generated duplicate UUIDs:
・・・・
まだエラーが出る…キャッシュ等の問題かと推測し、それっぽいところを消して再度pod installすることにした。
④ 関連するファイルを削除し、再度pod install
このサイトの回答をもとに消してみる。正直何が関係しているとかよくわかっていないので、言われるがまま…(よくない)
消したのは以下
- .xcworkspace
- Podfile.lock
- DerivedDataフォルダ
上2つは普通に削除できるが、DerivedDataはXcodeの中で削除する。参考はこれ
削除できたらもう一度pod install
で、エラーが解決しました🎉
参考
Discussion