跳到正文
InfoQ · 微信公众号·· 12 小时前AI 评分50

Xcode 27.2 推出对智能体友好的 JSON 项目配置格式

Xcode 27.2 推出对智能体友好、有效减少合并冲突的 JSON 项目配置格式

AI 导读

苹果在 Xcode 27.2 中推出基于 JSON 的项目配置格式(xcode-project-format),取代传统 property-list 格式的 project.pbxproj,转换后为 project.xcproj。

正文

InfoQ 2026-11-01 10:15 北京

苹果推出全新JSON格式Xcode项目配置文件,替代传统plist格式。

作者 | Sergio De Simone

译者 | 明知山

苹果推出基于 JSON 的全新 Xcode 项目配置文件格式,用以取代传统的基于属性列表(property-list)的格式。新格式在 Xcode 27.2 中可用,旨在提升可读性、简化维护工作,并让 AI 编码智能体更容易理解和修改项目配置。

使用开源的 JSON 文件格式(xcode-project-format),在将项目配置文件提交到代码仓库后更便于校验项目配置变更,因为对比视图中的改动与 Xcode 中的操作一一对应。

新格式的一个主要优势 在于,它通过提供更稳定、更可预测的项目配置表示方式降低了合并冲突的可能性。JSON 格式还让项目结构对包括 AI 编码智能体在内的自动化开发工具更加友好,简化了项目设置的检查和修改。

为帮助开发者使用这种新格式,苹果还发布了一个 用于编码和解码该格式的 Swift 包。例如,以下是如何列出项目中定义的所有 target:

    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 Schema 不仅定义了 target,还定义了文件树、构建配置、构建设置和外部依赖。它还支持不同子树中节点之间的关联关系。例如,一个文件可以指定它所属的构建阶段和 target。重要的是,该格式尽可能避免使用不透明的标识符,优先使用可读的名称和路径。Target 和构建产物例外,它们使用标识符来支持外部文件引用。

    资深 iOS 开发者 Nikita Dyachkov 在评论此消息时 指出:

    合并项目文件的问题自项目文件诞生以来就一直存在,任何在多人 iOS 开发团队中工作过的人都对此深有体会。

    在同一条讨论帖中,资深 iOS 工程师 Khushal Jhalani 评价这种可读性更强的新格式“大幅提升了开发体验”。不少人也认同这项改动姗姗来迟,资深 iOS 开发者 Moumita China 表示,如果早点推出,本可以免去“多年的合并冲突困扰”。

    现有项目可轻松迁移,因为新格式仅改变项目在磁盘上的存储形式,底层模型不变。项目转换后,传统的 project.pbxproj 文件会替换为 project.xcproj。不过,在迁移之前请确认你正在使用的工具(包括 fastlane、CocoaPods、Tuist 等)均支持新格式。

    查看英文原文:

    https://www.infoq.com/news/2026/10/xcode-json-project-format/

    声明:本文为 InfoQ 编译,不代表平台观点,也不构成投资建议,未经许可禁止转载。

    END

    转发,点赞,在看,安排一下?图片

    今日好文推荐

    “别再像 2024 年那样用 Claude 了!”Claude Cowork 工程负责人:有些 Skill 删掉反而更好

    27 岁程序员获无限 Token,挑战24个月重写思科 98% 的遗留代码

    月烧 1.5 万亿 token,年烧 1.32 亿美元?Cursor 工程师的账单,凡人只能仰望

    Anthropic团队零Rust经验起步,靠Claude完成核心API跨语言重构:CPU省40%,延迟降20%

    跳转微信打开

    来源:InfoQ · 微信公众号 · mp.weixin.qq.com