
从 Swift 代码中读取和写入 Xcode pbxproj 文件格式!
此项目的主要目标是以 Xcode 使用的旧版 OpenStep 格式生成 project.pbxproj
文件。 使用此功能,可以修改项目文件,而无需将其更改为 XML 格式并导致巨大的 git 差异。
目前,此项目主要用于支持 R.swift。
目前,只有有限的 API 用于修改项目文件。 仅实现了 R.swift 实际需要的功能。 没有通用的方法来修改项目结构。
这会读取 xcodeproj 文件(可能是 XML 格式),并以 OpenStep 格式写回。
let xcodeproj = URL(fileURLWithPath: "Test.xcodeproj")
let proj = try! XCProjectFile(xcodeprojURL: xcodeproj)
try! proj.write(to: xcodeproj, format: PropertyListSerialization.PropertyListFormat.openStep)
- 2.12.0 - 2025-02-08 - 修复 Linux 支持
- 2.11.1 - 2024-11-03 - 将 syncGroups 属性设为内部属性
- 2.11.0 - 2024-11-03 - 向 PBXFileSystemSynchronizedRootGroup 添加计算属性 fullPath
- 2.10.2 - 2024-09-24 - 添加 PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet
- 2.10.1 - 2024-09-19 - 文件系统同步目录的序列化修复
- 2.10.0 - 2024-09-19 - 在 Xcode 16 中添加对文件系统同步目录的支持
- 2.9.2 - 2023-09-20 - 修复 Xcode 15 中的警告
- 2.9.1 - 2023-09-10 - 添加对本地 Swift 包的支持
- 2.9.0 - 2022-11-07 - 向 XCSwiftPackageProductDependency 添加 removePackage 函数
- 2.8.0 - 2021-11-17 - 向 PBXShellScriptBuildPhase 添加字段
- 2.7.7 - 2020-05-08 - 添加对远程 swift 包的支持
- 2.7.6 - 2020-04-25 - 添加对 SPM 产品依赖项的支持
- 2.7.5 - 2020-02-13 - 添加对 PBXBuildRule 的支持
- 2.7.4 - 2019-10-04 - 改进了对可选字段的解析
- 2.7.3 - 2019-07-28 - 使用 Swift 原生随机函数
- 2.7.2 - 2019-07-28 - 改进了对 SPM 的支持
- 2.7.0 - 2019-06-10 - 添加对 Xcode 13 SPM 对象 的支持
- 2.6.0 - 2019-01-23 - 改进了损坏项目文件的错误消息
- 2.5.2 - 2018-12-30 - 再次修复了相对 URL 的错误生成
- 2.5.1 - 2018-12-28 - 修复了相对 URL 的错误生成
- 2.5.0 - 2018-12-11 - 改进了 pbxproj 中转义标识符的序列化
- 2.4.2 - 2018-10-03 - 修复了序列化器中的转义字符串
- 2.4.0 - 2018-07-03 - 添加对 SourceTreeFolder 类型 `PLATFORM_DIR` 的支持
- 2.3.0 - 2018-06-17 - 添加对 PBXLegacyTarget 的支持
- 2.2.0 - 2018-04-04 - Swift 4.1 支持
- 2.1.0 - 2018-01-23 - 为 R.swift 添加了一些特定的修改函数
- 2.0.0 - 2017-12-17 - 支持解析“损坏”的项目文件
- 1.1.0 - 2017-05-07 - 错误类型现在为公开
- 1.0.0 - 2017-03-28 - 从 Xcode.swift 重命名为 XcodeEdit
- 0.3.0 - 2016-04-27 - SourceTreeFolder 的修复
- 0.2.1 - 2015-12-30 - 添加缺少的 PBXProxyReference 类
- 0.2.0 - 2015-10-29 - 添加序列化支持
- 0.1.0 - 2015-09-28 - 初始公开版本
XcodeEdit 由 Tom Lokhorst 编写,并根据 MIT 许可证 提供,因此可以随意在商业和非商业项目中使用。