签名用固定的开发证书,避免每次构建后屏幕录制授权失效。工程由 project.yml 生成,修改后执行 xcodegen generate。
The project's README from github.com/icloudza/caplo. As one markdown file: README.md.
cp Config/Local.xcconfig.example Config/Local.xcconfig # 填写 DEVELOPMENT_TEAM
open Caplo.xcodeproj
签名用固定的开发证书,避免每次构建后屏幕录制授权失效。工程由 project.yml 生成,修改后执行 xcodegen generate。
命令行无签名构建:
xcodebuild -project Caplo.xcodeproj -scheme Caplo -configuration Debug \
-destination 'platform=macOS' -derivedDataPath build \
CODE_SIGNING_ALLOWED=NO CAPLO_APP_IDENTIFIER=com.caplo.buildcheck CAPLO_APP_NAME=CaploBuildCheck build
-derivedDataPath build 与改名参数用于隔离检查构建,不覆盖日常使用的 Caplo.app。
Scripts/check.sh
依次执行:单元测试 → 颜色令牌检查 → 全部窗口实际创建并跑完显示周期 → 无签名构建。单独运行:
cd Packages/CaploKit
swift test # 单元测试
swift run PreviewGallery ../../build/previews --windows # 窗口回归
swift run PreviewGallery ../../build/previews --demo # 界面与渲染快照
界面文字的键是中文原文,英文翻译在 App/Localizable.xcstrings(权限说明等在 App/InfoPlist.xcstrings)。
代码里直接写在 Text / Button 中的字面量会自动本地化;其余显示文字用 String(localized:),枚举的原始值作为存档标识不翻译,另加 title。
改动界面文字后同步并检查未翻译条目:
Scripts/localize.sh
推送 vX.Y.Z 标签后,GitHub Actions 自动完成签名、公证、制作 DMG、创建 GitHub Release,并上传到 Cloudflare R2,供官网下载和应用内更新(Sparkle)。配置与流程见 Scripts/release/README.md。
App/ 应用入口、Info.plist、权限声明
Config/ xcconfig(本机签名配置不入库)
Packages/CaploKit/
Sources/
CaptureKit ScreenCaptureKit 采集、分段写入、设备会话
EditingCore 编辑数据模型:时间线、镜头、光标轨迹、画布布局
RenderKit Core Image 合成、光标与玻璃渲染、Metal 内核
ExportKit 播放项组装、导出、转写、语音处理
ProjectKit 工程包读写与存储
Features SwiftUI / AppKit 界面:录制条、编辑器、项目中心、设置
CaploDesignSystem 颜色、字体、材质令牌与通用控件
PlatformSupport 系统版本兼容层
CRNNoise RNNoise 降噪(C)
PreviewGallery 快照与窗口回归工具
Shaders/ Metal 内核源码
Scripts/ 内核编译、资源生成、整体检查、发布(release/)
ReleaseNotes/ 各版本更新说明
修改 Shaders/CaploKernels.metal 后执行 zsh Scripts/build-kernels.sh 重新生成 CaploKernels.metallib;LiquidGlass.swift 中的 CIKL 兜底实现需同步修改。
欢迎提交 PR!缺陷修复、体验打磨、翻译校对和文档补充都很有价值。
Scripts/check.sh,改了界面文字再运行 Scripts/localize.sh。开发约定与贡献授权见 CONTRIBUTING.md。
LINUX DO — a new ideal community, where tech enthusiasts gather.
源码与官网发布的安装包均以 PolyForm Noncommercial 1.0.0 授权:允许个人学习、研究、爱好项目以及非营利机构使用、修改和分发;禁止任何商业用途,包括在公司或营利性工作中使用、出售,或作为商业产品与服务的一部分。商业授权请联系 [email protected]。
第三方组件保留各自的许可证:
Packages/CaploKit/Sources/CRNNoise/COPYINGPackages/CaploKit/Sources/RenderKit/Resources/Licenses/OpenScreen.txtPackages/CaploKit/Sources/RenderKit/Resources/Licenses/Capptivo.txt签名用固定的开发证书,避免每次构建后屏幕录制授权失效。工程由 project.yml 生成,修改后执行 xcodegen generate。