feat: add macOS task board widget app

This commit is contained in:
loveuer
2026-09-02 00:27:33 -07:00
commit 9dafdce855
13 changed files with 485 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# UTrello
一个运行在 macOS 桌面的本地 Trello 风格任务看板,附带 WidgetKit 小组件。
## 功能
- 三列任务看板:待办、进行中、完成
- 新增、移动和删除任务
- 桌面小组件显示未完成任务及其数量
- 任务数据只保存在本机;主应用和 Widget 通过 App Group 共享数据
- 主应用更新任务后,主动请求系统刷新小组件
## 技术要求
- macOS 14 Sonoma 或更高版本
- Xcode 15 或更高版本
- 可用于代码签名的 Apple 开发团队
## 本地运行
1. 在 Mac 上用 Xcode 打开 `UTrello.xcodeproj`。
2. 选择 `UTrello` target,在 **Signing & Capabilities** 中选择开发团队。
3. 对 `UTrelloWidget` target 重复上一步。
4. 在两个 target 的 App Groups capability 中,将 `group.com.example.utrello` 改为该开发团队已注册的 App Group 标识。
5. 将 [TaskStore.swift](UTrello/Shared/TaskStore.swift) 中的 `groupIdentifier` 改为同一个标识。
6. 选择 `UTrello` scheme 后运行。首次运行成功后,在 macOS 的组件库中将 **UTrello Tasks** 添加到桌面。
## 数据与刷新
任务以 JSON 形式写入 App Group 的 `UserDefaults`。Widget 会在任务变更时请求刷新,并会由系统每 15 分钟兜底刷新一次;实际刷新时机仍由 macOS 调度。
## 当前限制
- 这是纯本地应用,不会同步真实 Trello 服务。
- Widget 以浏览为主,复杂操作在主应用内完成。