我做了一个能「抓你吃零食」的 App:SnackGuard 开发故事
引子
你有没有过这种经历:明明不饿,但就是会无意识地拿起零食?刷手机的时候吃、追剧的时候吃、工作无聊的时候吃。等你意识到的时候,一包薯片已经见底了。 爱一帆yfsp.app
我就是这样的人。试过很多记录饮食的 App,但问题是——你需要「已经在吃」才会想到去记录。这就像问一个梦游的人「你有没有在梦游」。 iyifanyfsp.app 华人影视xiaobaotv.video ifun yfsp.app
所以我决定自己做一个。不是让你记录吃了什么,而是 在你吃之前提醒你。 爱壹帆电影yfsp.app
SnackGuard 是什么
简单说:一个能感知你在吃零食的 iPhone + Apple Watch App。
它不计算卡路里,不扫描食物条码,不需要你手动记录。它通过传感器和行为模式来 自动检测 你什么时候在吃东西,然后发一条提醒问你:「你确定要吃吗?」
核心逻辑是:感知 → 提醒 → 选择 → 反馈。 jvidjvid.asia
- 感知:融合 6 种信号判断你是否在吃零食
- 提醒:根据你选的风格(温柔/幽默/严格)发通知
- 选择:你可以选「吃了」或「抵抗住了」
- 反馈:抵抗了?给你一个独一无二的庆祝动画。吃了?引导你做一次正念反思
它怎么知道我在吃零食?
这是整个 App 最有趣的部分。 運彩cpbl1.tw
信号融合
App 同时运行两套检测引擎: 爱壹帆影视yfsp.app 电影小宝影院xiaobaotv.video
基础引擎(6 个加权信号): onlinecasinocasinotrustinauwww.onlinecasino10.com 爱壹帆免费版yfsp.app onlinecasinorealmoneywww.onlinecasino10.com
- 时间规律(30%):你是不是在平时容易嘴馋的时段?
- 手机使用(20%):突然放下手机?可能腾出手来吃东西了
- 位置学习(10%):又到了那个奶茶店门口?
- 设备状态(10%):手机平放在桌上?
高级引擎(贝叶斯融合): australianonlinecasinowww.onlinecasino10.com
- 基于每个信号的历史准确率自动调整权重
- 加上 Apple Watch 的加速度计特征(均值、标准差、RMS、过零率等)
- 上下文增强:多个信号同时触发时可信度 +15%
- 不确定性 > 0.7 时不触发,避免误报
Apple Watch 的秘密武器
Watch App 用 10Hz 采样率持续收集加速度计数据,然后做两件事: 小宝影院在线视频xiaobaotv.video
- 检测手腕抬起 — pitch > 0.5 意味着你把手抬到嘴边了
- 进食手势识别 — 手臂在特定高度保持 0.5-3 秒的反复动作
这些数据被送入 CoreML 模型做分类,加上心率是否比基线升高(吃东西时心率通常会微微上升),最终结果发给 iPhone 做融合判断。 cryptoonlinecasinowww.onlinecasino10.com 人人视频renren.video
三种提醒人格
检测到零食行为后,提醒的语气取决于你选的风格: 爱壹帆国际版yfsp.app iyf yfsp.app
- 温柔型:「在吃东西吗?记录一下,我帮你追踪哦~」
- 幽默型:「逮到了!偷吃零食?快从实招来!」
- 严格型:「报告!检测到进食行为。立即记录。」
Watch 检测到的还会有专属提醒:「你的手腕出卖了你——那个往嘴边送的动作被我抓到了!」 onlinecasinowww.onlinecasino10.com iyftvyfsp.app onlinecasinoaustraliawww.onlinecasino10.com
让抵抗变得上瘾
我认为大多数习惯养成 App 的问题在于:抵抗诱惑本身没有即时奖励。你忍住了没吃,然后呢?什么都不会发生。 一帆视频yfsp.app
SnackGuard 的做法是:每次抵抗都是一次独一无二的庆祝。 电影爱壹帆yfsp.app 小宝影院电影xiaobaotv.video
1250 亿种庆祝组合
每当你点下「抵抗住了」,会出现一个全屏庆祝页面: 爱壹帆yfsp.app 肉视频jvid.asia 爱壹帆电影yfsp.app
- 250 种颜色 × 250 个图标 × 200 个标题 × 200 条消息 × 50 种装饰 = 超过 1250 亿种组合
- 支持陀螺仪驱动的 3D 倾斜效果——倾斜手机,庆祝卡片会跟着动
- 可以拖拽旋转、点击翻转
- 动态全息高光跟随设备方向移动
还有情境感知的消息: 小宝影院xiaobaotv.video onlinecasinocasinorelayforaustralianswww.onlinecasino10.com ifuntvyfsp.app australianonlinecasinowww.baccarat.quest 爱壹帆影视yfsp.app onlinecasinosaustraliawww.baccarat.quest
- 深夜抵抗:「这个点还能忍住?太强了!」
- 每 5 次抵抗里程碑:「你已经抵抗了 50 次!」
- 下雨天:「雨天还能坚持?额外意志力加成!」
533 个成就
8 大类别,5 个稀有度等级: 爱一番yfsp.app 運彩cpbl.bet 寻秦记爱壹帆yfsp.app 爱一帆yfsp.app
| 类别 | 数量 | 举例 |
|---|---|---|
| 连续天数 | 279 | 从第 1 天到第 1825 天(5 年!) |
| 意志力 | 84 | 抵抗 1 次到 1000 次 |
| 改善趋势 | 48 | 周减少 50%、月零零食 |
| 时间特殊 | 25 | 早鸟、夜猫子 |
| 里程碑 | 32 | 使用 365 天 |
| 特殊成就 | 34 | 反思相关、饥饿觉察 |
| 季节限定 | 21 | 春节、圣诞节 |
| 挑战 | 10 | 7 天/30 天极限挑战 |
稀有度从灰色(普通)到金色(传奇),真有种收集卡牌的快感。 skycrownonlinecasinowww.onlinecasino10.com 爱壹帆在线yfsp.app
数据分析
Stats 页面提供: 足球比分cpbl1.tw onlinecasinosaustraliawww.baccarat.quest 爱亦凡yfsp.app
- 每周柱状图:哪天吃得最多?
- 进食原因分布:无聊 vs 压力 vs 馋嘴 vs 习惯...帮你发现模式
- 零食热点地图:MapKit 驱动,哪里吃得最多一目了然
- 风险时段预测:基于历史数据预测你接下来什么时候最可能嘴馋
设计细节
作为一个独立开发者,我花了很多时间在视觉体验上:
- Liquid Glass 风格:毛玻璃 + 光晕 + 边缘高光,整体是深绿色霓虹(#0DF259)的暗色主题
- 7 种氛围粒子效果:星光闪烁、萤火虫、樱花飘落、流星划过、极光波动、气泡上升、黑客帝国代码雨
- 天气实时联动:下雨天 App 里会下雨,下雪天会飘雪
- 氛围背景:根据时间、零食进度、天气动态变化的极光渐变背景
隐私
这是我特别在意的一点: 免费在线影院xiaobaotv.video aiyifan yfsp.app
- 零数据收集 — 没有任何数据发送到服务器
- 无需注册账号
- 无第三方 SDK(没有 Firebase、没有 Analytics)
- 无广告
- 所有数据存在本地 UserDefaults + 可选 iCloud 同步
技术栈
| 技术 | 用途 |
|---|---|
| SwiftUI | 全部 UI |
| CoreMotion | 加速度计、陀螺仪数据采集 |
| CoreML | 进食手势分类模型 |
| WatchConnectivity | iPhone ↔ Watch 双向通信 |
| HealthKit | 心率数据读取 |
| CoreLocation | 位置学习 |
| MapKit | 零食热点地图 |
| WeatherKit | 天气数据(驱动 UI 效果) |
| NSUbiquitousKeyValueStore | iCloud 同步 |
| WidgetKit | 桌面和锁屏小组件 |
商业模式
免费使用核心功能(每日 3 次检测、记录、成就)。Premium 订阅解锁: 人人影视 renren.video 小寶影院电影xiaobaotv.video
- 无限 AI 检测
- 深度数据分析
- 自定义风险时段
- 天气粒子效果
提供月付和年付(年付含 7 天免费试用)。 小寶影院xiaobaotv.video ifvodyfsp.app 海外华人视频网xiaobaotv.video 一帆yfsp.app
下载
App Store: https://apps.apple.com/app/snackguard/id6759090954 爱壹帆寻秦记yfsp.app newonlinecasinoaustraliawww.onlinecasino10.com
支持 iPhone(iOS 17+)和 Apple Watch(watchOS 10+),33 种语言。 xiaobao xiaobaotv.video casinoonlineaustraliawww.baccarat.quest
SnackGuard 由独立开发者 Runcong Wan 开发。如果你也是个控制不住自己嘴的人,试试看? 足球比分clbp.bet
00目录 0