首页 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 一起删掉.

以上方法中 1 和 2 就不用试了, 基本没用(如果 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 进行授权