Skip to content

项目概览

定位

Carbon Fiber 不是一个具体业务 App,而是一个可实例化的双平台工程模板。它优先解决每个新项目都会重复遇到的基础问题,让派生应用把主要精力放在产品模型、核心交互和平台能力上。

已包含能力

  • 使用 SwiftUI 共享 iOS 与 macOS 的应用入口和主要视图。
  • 使用 XcodeGen 从 project.yml 生成 Xcode 工程。
  • 使用 Taskfile 统一环境检查、生成、构建、测试和状态清理命令。
  • 使用 UserDefaults 持久化语言、外观和首次运行偏好。
  • 支持跟随系统、英文和简体中文,缺少翻译时回退到英文。
  • 支持跟随系统、浅色和深色外观。
  • 提供 LocalJSONStore 作为产品数据的本地 JSON 存储起点。
  • 提供 iOS XCTest 目标,覆盖核心偏好的默认值和持久化行为。
  • 提供权限、隐私和发布检查清单。

平台基线

项目当前配置
Swift5.9
iOS16.0+
macOS13.0+
项目生成XcodeGen
UISwiftUI
测试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      开发命令事实来源