久々にpod init
したらエラーになっちゃいました。。その原因と解決方法をここに記載しておきます。
エラー内容
pod init
をしたら、以下のようなエラーが表示された。
――― MARKDOWN TEMPLATE ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ### Command ``` /usr/local/bin/pod init ``` ### Report * What did you do? * What did you expect to happen? * What happened instead? ### Stack ``` CocoaPods : 1.10.1 Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20] RubyGems : 3.0.3 Host : macOS 11.5.2 (20G95) Xcode : 13.0 (13A233) Git : git version 2.30.1 (Apple Git-130) Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib Repositories : trunk - CDN - https://cdn.cocoapods.org/ ``` ### Plugins ``` cocoapods-deintegrate : 1.0.4 cocoapods-plugins : 1.0.0 cocoapods-search : 1.0.0 cocoapods-stats : 1.1.0 cocoapods-trunk : 1.5.0 cocoapods-try : 1.2.0 ``` ### Error ``` RuntimeError - [Xcodeproj] Unknown object version. /Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.19.0/lib/xcodeproj/project.rb:227:in `initialize_from_file' /Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.19.0/lib/xcodeproj/project.rb:112:in `open' /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command/init.rb:41:in `validate!' /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:333:in `run' /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command.rb:52:in `run' /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/bin/pod:55:in `<top (required)>' /usr/local/bin/pod:23:in `load' /usr/local/bin/pod:23:in `<main>' ``` ――― TEMPLATE END ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― [!] Oh no, an error occurred. Search for existing GitHub issues similar to yours: https://github.com/CocoaPods/CocoaPods/search?q=%5BXcodeproj%5D+Unknown+object+version.&type=Issues If none exists, create a ticket, with the template displayed above, on: https://github.com/CocoaPods/CocoaPods/issues/new Be sure to first read the contributing guide for details on how to properly submit a ticket: https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md Don't forget to anonymize any private data! Looking for related issues on cocoapods/cocoapods... - RuntimeError - [Xcodeproj] Unknown object version. https://github.com/CocoaPods/CocoaPods/issues/10984 [closed] [12 comments] 2 weeks ago - Unknown object version https://github.com/CocoaPods/CocoaPods/issues/10973 [closed] [10 comments] 5 weeks ago - RuntimeError - [Xcodeproj] Unknown object version. https://github.com/CocoaPods/CocoaPods/issues/7458 [closed] [21 comments] 3 weeks ago and 71 more at: https://github.com/cocoapods/cocoapods/search?q=%5BXcodeproj%5D%20Unknown%20object%20version.&type=Issues&utf8=✓
原因
長ったらしいエラーだが、一つ一つ上から読んでみると、
Unknown object version.
と不明なバージョンだと書いてある。。
さらに、親切?でちゃんと参考サイトも載ってるのでみてみると、
https://github.com/CocoaPods/CocoaPods/search?q=%5BXcodeproj%5D+Unknown+object+version.&type=Issues
This is a very old version of cocoapods you are using and xcodeproj gem.
引用元:github-(Unknown object version · Issue #10973 · CocoaPods/CocoaPods)
つまり、バージョンが古いということがわかった。
解決方法
ただ単にCocoaPodsのバージョンをアップデートする。
sudo gem update cocoapods
で、さらにアップデートした後は、setupもした方がいいらしい。
pod setup
これでエラーは解決できました。
ちなみに、会社のプロジェクトでも同じエラーが出てしまって、同じ手順で行ったが、うまくいかなかった。
理由は、そもそもcocoapodsをgemではなくbrewで入れていたため。以下のように、インストールし直した。
brew uninstall cocoapods
brew install cocoapods
まとめ
今回は、バージョンが古かっただけだが、同じような長ったらしいエラー文で、Unknown object version.
の部分が違う場合(文字コードがUtf-8じゃない場合?)もあるので、その場合は以下の記事を参考にしてください。
参考文献