在 linux 上解析 .pbxproj 文件

Parse .pbxproj files on linux

我一直在寻找某种方法将 .pbxproj 文件转换为 xml 文件,以便为 CI 管道进行解析。在 mac 上,我可以使用“plutil -convert xml1 < filename >”,它完美地工作,但是 Linux 的开源 plist 解析工具是 full of bugs 和失败(即使在调试模式下)并显示基本的“无法转换 plist 文件”。

是否有其他方法 solution/way 可以解析此文件?我们的目标是验证所有文件都包含在多个 xcode 目标中。

如果您熟悉 ruby,可以使用 Xcodeproj gem。它允许您直接解析 pbxproj 文件,而无需转换为 xml.

如您所知,pbxproj 实际上只是一个 plist(我相信是旧式的 nextstep 格式;http://www.monobjc.net/xcode-project-file-format.html)。

为了解析它,您需要能够parse a plist on Ubuntu

那里有一些选项,包括 plist-util, which works but does not have the same API. Personally, I forked a drop-in replacement for plutil 这样我就不需要更新我们的脚本来分别考虑 Linux 和 Mac envs。