曾静的博客

但行好事,莫问前程.

嗨,我是曾静 (@devzeng),目前暂居深圳。


这是我用来记录平日学习笔记的地方,欢迎您的访问.

Xcode16 pod init报错问题解决

近期想要测试一段代码,使用Xcode16创建了一个demo工程,在初始化Podfile的时候发现报错。使用的是 pod init 错误信息如下:

RuntimeError - `PBXGroup` attempted to initialize an object with unknown ISA `PBXFileSystemSynchronizedRootGroup` from attributes: `{"isa"=>"PBXFileSystemSynchronizedRootGroup", "exceptions"=>["5D718EB02D01ED9C00394B05"], "path"=>"DemoApp", "sourceTree"=>"<group>"}`
If this ISA was generated by Xcode please file an issue: https://github.com/CocoaPods/Xcodeproj/issues/new

在 CocoaPods 的仓库找到一个一样的错误issue, 按照上面的步骤顺利的解决了,这里记录一下解决的过程。

首先将项目目录转换为Group

convert_to_group.png

对比了一下修改前后的 project.pbxproj 内容,发现报错的主要原因是 PBXFileSystemSynchronizedRootGroup 这个 Xcodeproj 无法识别。

xcode_project_diff.png

修改完成后,再次执行 pod init 还是报错。

[!] [!] Xcodeproj doesn't know about the following attributes {"minimizedProjectReferenceProxies"=>"1", "preferredProjectObjectVersion"=>"77"} for the 'PBXProject' isa.
If this attribute was generated by Xcode please file an issue: https://github.com/CocoaPods/Xcodeproj/issues/new

....

`initialize_from_file': [Xcodeproj] Unknown object version (77). (RuntimeError)

解决办法:

(1)删除下面两行

minimizedProjectReferenceProxies = 1;
preferredProjectObjectVersion = 77;

(2)修改 Xcode 的兼容版本

将 objectVersion = 77; 改为 objectVersion = 56;

关于这个版本的说明可以参考:設定 Xcode 的專案相容版本 (Project-Format)

参考资料

更早的文章

VSCode搭建CocoaPods调试环境

以前一直使用的是 RubyMine 调试 CocoaPods 和开发 CocoaPods 插件,近期切换电脑发现配置不成功,而且因为一些原因在公司的设备上面不允许使用 RubyMine (平时也是比较少使用),索性考虑切换到VSCode上面吧。这里记录一下配置的过程。 本文使用的设备环境:macOS 15.1.1, Apple M系列芯片使用RVM安装Ruby系统自带的 Ruby 环境是 2.6:ruby 2.6.10p210 (2022-04-12 revision 67958) [u...…

Note继续阅读