Skip to content

实例化新 App

CarbonFiberApp 只是模板占位符。真实产品应在功能开发前一次性重命名,避免项目名、Target、Swift Module、目录和 Bundle ID 互相不一致。

推荐命令

在模板根目录执行:

bash
scripts/instantiate-template.sh \
  --name FocusGarden \
  --display-name "Focus Garden" \
  --bundle-id com.xiezhixin.focusgarden \
  --team 77TN4427T5

参数说明:

参数要求
--nameSwift 可用的类型和模块名,以字母开头,仅含字母、数字和下划线
--display-name用户在系统中看到的 App 名称
--bundle-id反向域名格式的 iOS Bundle ID
--teamApple Developer Team ID

脚本会同步处理 iOS Target、macOS Target、测试 Target、Swift 入口、源码目录、测试目录、Bundle ID、展示名、Taskfile、README、底层文档和 Wiki。

实例化后

  1. 替换 Resources/Shared/Assets.xcassets 中的 App Icon。
  2. 更新 README 和 Wiki 中仍属于模板说明的产品内容。
  3. 重新生成并验证工程:
bash
task generate
task verify
task build:mac
task test
task wiki:build
  1. 检查仓库中不再存在不应保留的占位名:
bash
rg 'CarbonFiberApp|Carbon Fiber'

后续再次调整目录

如果实例化后继续修改源码或测试目录,需要同步更新:

  • project.yml 中 Target 的 sourcesresources 路径。
  • iOS INFOPLIST_FILE 路径。
  • Taskfile.yml 中的 plist、Scheme、Bundle ID 与状态路径。
  • 测试 Target 的源码路径和宿主设置。
  • AGENTS.md、README、docs/ 与 Wiki 中的引用。

随后重新生成 Xcode 工程,不要直接维护生成的 project.pbxproj