找回密码
立即注册
搜索
发回帖 发新帖

5123

积分

0

好友

653

主题
发表于 5 小时前 | 查看: 12| 回复: 0

苹果正式推出基于 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,仅供技术交流。




上一篇:全球法律塞进一个 Git 仓库:查旧法条可精确到某年某月某日
下一篇:长文档视觉问答综述:从读懂页面到获取充分证据
您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-11-2 09:52 , Processed in 0.066086 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表