Xcode 27.2 引入了用于项目配置的 JSON 格式

Xcode 27.2 引入了用于项目配置的 JSON 格式


Apple 正在为 Xcode 项目配置文件引入新的 JSON 格式,取代传统的基于列表的格式。 Xcode 27.2 中提供的新格式旨在提高可读性、简化维护并使项目配置更易于 AI 编码代理理解和修改。

JSON 打开文件格式(xcode-project-format)使得当您将项目配置文件导入源代码存储库时可以更轻松地测试项目配置更改,因为比较视图中的更改对应于您在 Xcode 中的操作。

新格式的主要优点是,它通过提供稳定且可预测的项目配置表示来减少联合冲突的可能性。 JSON 格式还使自动化开发工具(包括 AI 编码代理)更容易访问项目结构,从而简化测试和修改项目设置。

为了帮助开发人员使用新格式,Apple 还发布了用于对新格式进行编码和解码的 Swift 包。例如,您可以这样列出项目中定义的所有目标:


import XcodeProjectFormat


func listTargets(in projectURL: URL) throws {
    let projectData = try Data(contentsOf: projectURL)
    let project = try XCSchema.Project(jsonRepresentation: projectData)
    for target in project.targets {
        print(target.name)
    }
}

在顶层,JSON 模式不仅定义目标,还定义文件树、构建配置、构建设置和外部依赖项。它还支持不同子树中的节点之间的关系。例如,文件定义构建的阶段及其所属的目标。重要的是,格式尽可能避免不透明的标识符,而有利于人类可读的名称和路径。目标和构建产品是值得注意的例外,因为它们使用标识符来支持来自外部文件的引用。

高级 iOS 开发人员 Nikita Dyachkov 在评论这一消息时指出:

自从引入项目文件以来,合并项目文件的问题一直是一个长期存在的问题,并且对于在具有多个开发人员的 iOS 开发团队中工作过的任何人来说都是熟悉的。

在同一条帖子中,高级 iOS 工程师 Khushal Jalani 将这种用于更多阅读的新格式描述为“生活质量的巨大改善”。其他人则认为这一改变早就该发生了,高级 iOS 开发人员 Moumita Chin 指出,这本可以挽救“多年的集体冲突”。

现有项目可以轻松转移,因为新格式仅改变项目在磁盘上的表示方式,而不改变其原始模型。项目转型取代传统 project.pbxproj 文件与 project.xcproj。但在转移之前,请确保您使用的所有工具,包括 fastlane、CocoaPods、Tuist 等都支持新格式。





Source link

Leave a Reply

Your email address will not be published. Required fields are marked *

Instagram Posts Collection

Instagram Posts Collection