一个简洁优雅的iOS时间记录应用,帮助你追踪每天的时间使用情况。
- 按类别组织事件(工作、学习、娱乐、运动、休息等)
- 自定义事件名称和颜色
- 一键开始/停止/切换事件计时
- 自动过滤短时间记录(可设置最小有效时长)
- 事件归档 - 暂时不用的事件可归档,需要时在设置中恢复
- 多维度时间统计(日/周/月/年)
- 可视化图表展示时长分布
- 事件分类统计和百分比分析
- 详细记录列表查看
- 单次事件超过1小时自动提醒
- 后台本地通知支持
- 每小时重复提醒
- 自动同步有效记录到iOS日历
- 支持选择目标日历
- 完整的权限管理
- iCloud 自动同步 - 所有数据实时同步到 iCloud
- 多设备共享 - 支持 iPhone、iPad 数据同步
- 数据持久化 - 删除应用不会删除数据
- 自动恢复 - 重新安装后自动从 iCloud 恢复
- 隐私保护 - 数据仅存储在您的 iCloud 账户中
- iOS 16+
- SwiftUI - 现代化UI框架
- SwiftData - 数据持久化
- Charts - 原生图表展示
- EventKit - 日历集成
- UserNotifications - 本地通知
iTime/
├── Models/ # 数据模型层
│ ├── EventCategory.swift # 事件分类
│ ├── EventType.swift # 事件类型
│ └── TimeRecord.swift # 时间记录
├── ViewModels/ # 业务逻辑层
│ ├── TimerViewModel.swift
│ ├── StatisticsViewModel.swift
│ └── SettingsViewModel.swift
├── Views/ # 视图层
│ ├── MainTabView.swift
│ ├── Timer/ # 计时器模块
│ ├── Statistics/ # 统计模块
│ └── Settings/ # 设置模块
├── Services/ # 服务层
│ ├── CalendarService.swift
│ ├── NotificationService.swift
│ └── TimerService.swift
└── Utils/ # 工具类
├── Extensions.swift
└── Constants.swift
- 预设6大分类:工作、学习、娱乐、运动、休息、其他
- 自定义颜色和图标
- 级联删除关联事件类型
- 用户自定义事件名称
- 可选的自定义颜色
- 关联到分类
- 归档状态(isArchived)
- 记录开始/结束时间
- 计算持续时长
- 有效性标记
- 日历事件ID关联
-
权限设置
- 进入"设置"标签
- 授予通知权限(接收提醒)
- 授予日历权限(同步记录)
- 选择目标日历
-
创建事件
- 在"时间"标签点击添加按钮
- 输入事件名称
- 选择分类
- 可选择自定义颜色
- 点击事件卡片开始计时
- 当前活动事件会高亮显示
- 点击其他事件可切换
- 再次点击当前事件或点击停止按钮结束计时
- 进入"统计"标签
- 选择时间段(日/周/月/年)
- 查看图表和分类统计
- 点击"查看详细记录"查看所有记录
编辑事件
- 长按事件卡片,选择"编辑"
- 可修改事件名称、所属分类、自定义颜色
- 修改后立即生效,历史记录自动关联新属性
- 正在计时的事件也可以编辑
归档事件
- 长按事件卡片,选择"归档"
- 归档的事件不会在主界面显示
- 历史记录仍然保留
恢复归档事件
- 进入"设置"标签
- 点击"归档事件"
- 点击恢复按钮即可恢复到主界面
- 也可以直接删除不再需要的归档事件
默认为5分钟,可在设置中调整(1-60分钟)。少于此时长的记录不会被保存。
- 启用后,所有有效记录会自动同步到选中的日历
- 可选择"默认日历"或特定日历
- 同步的事件标题为事件类型名称
- 单次事件超过1小时后首次提醒
- 之后每小时提醒一次
- 需要授予通知权限
- Xcode 15+
- iOS 16+ 模拟器或真机
- Apple Developer账号(用于真机测试和iCloud)
- 克隆项目到本地
- 使用Xcode打开
iTime.xcodeproj - 选择目标设备
- 点击运行
项目已配置CloudKit支持,需要:
- 在Xcode中登录Apple ID
- 配置Bundle Identifier
- 启用iCloud能力
- 选择或创建CloudKit容器
- 使用4空格缩进
- 关键逻辑添加中文注释
- MVVM架构模式
- 单一职责原则
- 避免过度抽象
本应用使用 Apple 的 SwiftData + CloudKit 技术栈,确保您的数据安全可靠:
数据存储位置
- 所有时间记录存储在您的 iCloud 账户中
- 使用 Apple 提供的加密存储
- 数据仅限您登录的设备访问
删除应用后的数据保护
- 应用数据不会丢失 - 删除应用只会移除应用本身,iCloud 中的数据完整保留
- 重新安装自动恢复 - 重新安装应用后,登录同一 iCloud 账户即可自动恢复所有数据
- 多设备同步 - 在其他设备(iPad/iPhone)安装应用,数据自动同步
如何确保数据安全
设置 → Apple ID → iCloud → iCloud Drive → 打开
确保以下设置已开启:
- ✅ 已登录 Apple ID
- ✅ iCloud Drive 已启用
- ✅ 有足够的 iCloud 储存空间
- ✅ 网络连接正常(用于初次同步)
数据恢复步骤
- 卸载应用(数据保留在 iCloud)
- 重新从 App Store 安装
- 使用相同 Apple ID 登录
- 打开应用,等待数据自动同步
- 所有历史记录完整恢复
注意事项
- 首次同步可能需要几分钟,取决于数据量和网络速度
- 确保设备有足够的网络流量(建议使用 WiFi)
- 切换 Apple ID 会导致数据无法访问(数据仍在原账户中)
MIT License
Sean Zou - 2025