读/写 pbxproj/xcodeproj 文件的库?[已关闭]

2022-09-01 19:51:53

有谁知道一个库可以读/写Xcode项目文件.xcodeproj/.pbxproj?欢迎任何语言。

提前致谢。


答案 1

Xcode 项目的表面语法是“旧式 plist”。您可以使用以下命令轻松地将其转换为 XML plist

plutil -convert xml1 -o - myproj.xcodeproj/project.pbxproj

请注意,这不是“真正的XML”,而是用XML语法表示的Mac OS X plist结构;它几乎完全由键值对字典和数组组成。Xcode 将读取 XML 表示形式,但在打开项目时将其转换回“旧式 plist”。

plist 中项的结构和关系遵循项目的结构。UUID 用于在项目与其目标之间以及项目与项目包装器中的用户文件之间交叉引用项。

“isa”键标识每种类型的对象。PBXProject 包含 PBXFileReference、PBXGroup、PBXNativeTarget 和 PBXBuildConfiguration 对象。

目标具有 PBXBuildPhase 对象,这些对象包含对文件引用的交叉引用。生成配置存储目标的生成设置以及其他目标设置(如目标类型和名称)的列表。

buildConfigurationLists 交叉引用 buildConfigurations,而 buildConfigurations 又包含 buildSettings 的字典。

我建议先看看旧式的plist文本,因为它更具可读性,并且实际上有内联注释来告诉你什么是什么。然后,您可以使用 XML 工具根据自己的喜好编辑或编写项目文件。


答案 2

我最终创建了一个,它托管在github上:

https://github.com/jasperblues/XcodeEditor

允许列出标头、文件、添加源文件、将源文件设置为目标成员、添加图像、创建组等)。

它的工作原理是操作 project.pbxproj 文件的内容。用于:

  • 减少痛苦:移动应用程序的自动化功能测试。(编辑:现在是Xamarin工具的一部分)。
  • Level Helper:用于在iOS和Android上开发2D游戏的RAD框架。
  • 文本伴侣
  • 可分摊

推荐