如何用 XcodeGen 自动生成 Xcode 项目:一份蓝牙开发者的快速上手指南

📅 2026/8/24 2:36:32
如何用 XcodeGen 自动生成 Xcode 项目:一份蓝牙开发者的快速上手指南
如何用 XcodeGen 自动生成 Xcode 项目一份蓝牙开发者的快速上手指南【免费下载链接】XcodeGenA Swift command line tool for generating your Xcode project项目地址: https://gitcode.com/GitHub_Trending/xc/XcodeGenXcodeGen 是一款基于 Swift 的命令行工具你用一份 YAML 描述项目结构它就替你生成完整的 .xcodeproj 工程文件。项目配置从此变成纯文本可进版本库、可 Code Review、团队合并零冲突。 手写工程文件的三种痛合并冲突.xcodeproj 的核心是机器生成的二进制风格文件两个人同时改动 target 设置Git 几乎必冲突而且冲突内容根本没法人眼判断。配置藏不住签名、部署版本、构建参数散在 Xcode 界面各处想审计或回滚某个配置改动只能翻 diff。环境漂移新同事克隆仓库后你手点过的那几十个设置一步不少地丢复现全靠口口相传。共同根源是工程文件是结果而不是来源。XcodeGen 把来源换成文本结果随时可以重新生成。⏱️ XcodeGen 安装与首次生成macOS 上 Homebrew 一条命令装好也可以用git clone拉取源码后执行make installbrew install xcodegen在项目根目录新建project.yml最小可运行版本如下name: BluetoothApp targets: BluetoothApp: type: application platform: iOS sources: [App] settings: base: PRODUCT_NAME: BluetoothApp保存后执行xcodegen generate当前目录会多出一个BluetoothApp.xcodeproj用 Xcode 打开即可编译。 project.yml 核心字段速览字段作用备注name工程名决定生成的.xcodeproj文件名targets目标集合每个 key 是一个 targettype产物类型application、framework、bundle.unit-test等platform运行平台iOS、macOS、watchOS 等sources源码路径支持目录、glob 与排除规则settings构建设置用base或按Debug/Release分组options全局选项bundle id 前缀、预设策略等dependencies依赖声明framework、sdk、本地/远程包字段拿不准时对照官方字段参考逐条查即可不必背。 project.yml 蓝牙权限配置方法蓝牙 App 需要 Info.plist 里的权限描述键在settings里直接写对应的 plist key 就行name: BluetoothApp targets: BluetoothApp: type: application platform: iOS sources: [App] dependencies: - sdk: CoreBluetooth.framework settings: base: PRODUCT_BUNDLE_IDENTIFIER: com.example.bluetooth INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription: 用于发现附近的设备 INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription: 用于连接已配对设备- sdk: CoreBluetooth.framework是系统框架的标准写法如果链接的是自己目录下的二进制框架换成framework: 路径/XXX.framework即可。️ 进阶技巧预设、变量与 CI预设配置。XcodeGen 内置了与 Xcode 新建工程一致的默认设置通过options.settingPresets控制默认全开。团队想完全接管设置时设为none并在settings里显式写全避免隐式默认值带来的差异。YAML 内插环境变量。配置字符串里可以写${CI_BUILD_NUMBER}这类占位符XcodeGen 生成时会用当前环境值替换。这样测试/正式环境的 bundle id、证书团队号不用维护两份 YAML。CI 集成。构建流水线里在xcodebuild之前加一步xcodegen generate工程文件永远由仓库里的 YAML 现场生成不存在本地生成过、CI 上没生成的问题。xcodegen generate xcodebuild -project BluetoothApp.xcodeproj -scheme BluetoothApp build 相关资源使用手册Docs/Usage.md完整字段参考Docs/ProjectSpec.md常见问题Docs/FAQ.md内置设置预设目录SettingPresets/把project.yml提交进仓库从下一个迭代开始让工程文件只由文本决定。【免费下载链接】XcodeGenA Swift command line tool for generating your Xcode project项目地址: https://gitcode.com/GitHub_Trending/xc/XcodeGen创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考