首页 Xcode16 使用 Cocoapods 报错的解决办法
文章
取消

Xcode16 使用 Cocoapods 报错的解决办法

升级 XCode16 之后就发现 cocoapods 不好用了, 由于当时都是老项目影响不大, 就没有去折腾.

最近要开新项目了, 实在是绕不过去了, 就仔细研究了一下. 新建的项目只要是使用 pod init 或者 pod install 都会报错.

基本报错有 2 种情况, 报错信息在 Podfile 内容的下面. 根据具体情况来解决.

由于报错信息很长, 只贴出来了关键信息.

先说最好的解决办法: 把 cocoapods 迁移到 SPM, 肯定是没错的, 能彻底解决问题.

继续说问题

第一种情况

1
RuntimeError - `PBXGroup` attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup

这个情况比较复杂, 在内网和外网折腾了一上午.

  1. 重装 cocoapods
  2. 重装 ruby
  3. project.pbxproj 文件中的 PBXFileSystemSynchronizedRootGroup 全部替换成 PBXGroup
  4. XCode 中右键点击项目文件夹, 选择 Convert to Folder
  5. 删除新建项目时候附带的 Tests UITest, 包括 target 一起删掉.

以上方法中 12 就不用试了, 基本没用(如果 cocoapods 已经是最新版的情况下).

必须 4 + 5 同时做了之后就可以正常使用 cocoapods

第二种情况

1
RuntimeError - [Xcodeproj] Unknown object version (77).

解决办法:

右键项目目录下的 <#ProjectName#>.xcodeproj 文件, 选择 显示包内容, 使用文本编辑器打开 project.pbxproj 文件. 修改 objectVersion 的值:

1
objectVersion = 77;

改成

1
objectVersion = 56;

最后

记录这个一个是为了自己以后不用再到处找解决办法, 另一个是希望能帮到遇到同样问题的小伙伴.

如果你有遇到除以上 2 中情况以外的报错, 欢迎在评论区留言共同讨论.

如果你有其他解决办法也欢迎在评论区补充或者贴一个文章地址, 这样能够在将来帮助到更多的人.

本文由作者按照 CC BY 4.0 进行授权