Xcode 16 使用 pod 命令报错解决方案
原文请点击这个跳转
一、问题现象:
有人会遇到 Xcode 升级到 16 后,新建应用然后使用 pod init
命令会报错如下:
Stack
Ruby : ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-darwin23] RubyGems : 3.5.22 Host : macOS 15.0 (24A335) Xcode : 16.1 (16B40) Git : git version 2.39.5 (Apple Git-154) Ruby lib dir : /usr/local/Cellar/ruby/3.3.5/lib Repositories : cocoapods - git - https://github.com/CocoaPods/Specs.git @ a598c7b4d3a3b873136ba827516f00e0cb25d6c7 gitee-q1com-glaspecmanager - git - https://gitee.com/q1com/glaspecmanager.git @ 91c88586f9963e2a9bedf99707b39e8577a06487 trunk - CDN - https://cdn.cocoapods.org/ ``` ### Plugins ```cocoapods-deintegrate : 1.0.5 cocoapods-plugins : 1.0.0 cocoapods-search : 1.0.1 cocoapods-trunk : 1.6.0 cocoapods-try : 1.2.0 ``` ### Error ```RuntimeError - `PBXGroup` attempted to initialize an object with unknown ISA `PBXFileSystemSynchronizedRootGroup` from attributes: `{"isa"=>"PBXFileSystemSynchronizedRootGroup", "exceptions"=>["0D071E742CE1E4C10001221F"], "path"=>"TestXcode_3", "sourceTree"=>"<group>"}` If this ISA was generated by Xcode please file an issue: https://github.com/CocoaPods/Xcodeproj/issues/new /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:359:in `rescue in object_with_uuid' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:349:in `object_with_uuid' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:300:in `block (2 levels) in configure_with_plist' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:299:in `each' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:299:in `block in configure_with_plist' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:296:in `each' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:296:in `configure_with_plist' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project.rb:272:in `new_from_plist' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:350:in `object_with_uuid' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:290:in `block in configure_with_plist' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:287:in `each' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project/object.rb:287:in `configure_with_plist' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project.rb:272:in `new_from_plist' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project.rb:213:in `initialize_from_file' /usr/local/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.1/lib/xcodeproj/project.rb:113:in `open' /usr/local/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/command/init.rb:41:in `validate!' /usr/local/lib/ruby/gems/3.3.0/gems/claide-1.1.0/lib/claide/command.rb:333:in `run' /usr/local/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/command.rb:52:in `run' /usr/local/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/bin/pod:55:in `<top (required)>' /usr/local/opt/ruby/bin/pod:25:in `load' /usr/local/opt/ruby/bin/pod:25:in `<main>' ``` ――― TEMPLATE END ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― [!] Oh no, an error occurred. Search for existing GitHub issues similar to yours: https://github.com/CocoaPods/CocoaPods/search?q=%60PBXGroup%60+attempted+to+initialize+an+object+with+unknown+ISA+%60PBXFileSystemSynchronizedRootGroup%60+from+attributes%3A+%60%7B%22isa%22%3D%3E%22PBXFileSystemSynchronizedRootGroup%22%2C+%22exceptions%22%3D%3E%5B%220D071E742CE1E4C10001221F%22%5D%2C+%22path%22%3D%3E%22TestXcode_3%22%2C+%22sourceTree%22%3D%3E%22%3Cgroup%3E%22%7D%60%0AIf+this+ISA+was+generated+by+Xcode+please+file+an+issue%3A+https%3A%2F%2Fgithub.com%2FCocoaPods%2FXcodeproj%2Fissues%2Fnew&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... Searching for inspections failed: undefined method `map' for nil
二、解决方案
以下是我的解决方案,你可以试试,反正解决了我的问题,我不敢保证 100% 能解决你的问题。🙏
这是我创建的一个示例空项目:
第一步:在 Xcode 中右键单击项目文件夹并转换为组
第二步:使用文本编辑器打开 YouProjectName.xcodeproj
文件操作:
1、回到项目根路径中,使用文本编辑器打开 YouProjectName.xcodeproj
文件后,找到 project.pbxproj
文件
2、修改 project.pbxproj
文件中以下内容:
objectVersion = 77;
改为:
objectVersion = 63;
如果 63 不行,可以试试 56 ,我是改成 63是可以的
然后使用关键词 PBXFileSystemSynchronizedRootGroup
全文搜索,删除如图中的代码段:
然后保存修改,然后退出。
然后你可以执行 pod init
以及 pod install
测试下是否可以了。