外观
项目概览
定位
Carbon Fiber 不是一个具体业务 App,而是一个可实例化的双平台工程模板。它优先解决每个新项目都会重复遇到的基础问题,让派生应用把主要精力放在产品模型、核心交互和平台能力上。
已包含能力
- 使用 SwiftUI 共享 iOS 与 macOS 的应用入口和主要视图。
- 使用 XcodeGen 从
project.yml生成 Xcode 工程。 - 使用 Taskfile 统一环境检查、生成、构建、测试和状态清理命令。
- 使用
UserDefaults持久化语言、外观和首次运行偏好。 - 支持跟随系统、英文和简体中文,缺少翻译时回退到英文。
- 支持跟随系统、浅色和深色外观。
- 提供
LocalJSONStore作为产品数据的本地 JSON 存储起点。 - 提供 iOS XCTest 目标,覆盖核心偏好的默认值和持久化行为。
- 提供权限、隐私和发布检查清单。
平台基线
| 项目 | 当前配置 |
|---|---|
| Swift | 5.9 |
| iOS | 16.0+ |
| macOS | 13.0+ |
| 项目生成 | XcodeGen |
| UI | SwiftUI |
| 测试 | XCTest |
| 文档 | VitePress 1.6.4 |
默认不包含
模板默认不提供账号、后端、网络请求、分析 SDK、广告 SDK、跟踪、推送通知、后台模式或额外 entitlement。这些能力会改变隐私披露和 App Store 审核面,必须按隐私与能力接入补充设计与评审记录后再实现。
目录职责
text
Sources/CarbonFiberApp/
App/ App 入口、偏好、本地化和 iOS Info.plist
Design/ 主题色和平台外观适配
Models/ 可编码的产品数据模型
Storage/ 本地持久化工具
Views/ 根导航、首页、设置与关于页面
Resources/
Shared/ 两个平台共享的资源和本地化文件
iOS/ iOS 专用启动资源
Tests/ XCTest 测试目标
docs/ 代理约束所依赖的底层工程清单
scripts/ 模板实例化与维护脚本
wiki/ VitePress Wiki 源码
project.yml Xcode 工程事实来源
Taskfile.yml 开发命令事实来源