给我爸做了个血压记录 App:为什么放弃键盘选拨轮、买断不做订阅

给我爸做了个 App,第一个纠结点不是技术栈,是该用键盘还是拨轮。

我爸有高血压,每天早晚量两次,之前用备忘录记,格式是「8点 132/85 76」,全靠手动打字。去医院时医生问「最近血压怎么样」,他把手机递过去,医生扫一眼根本看不出规律。

App Store 上同类产品不少,但我试了几个,要么界面老旧靠数字键盘一个个敲,要么强制注册账号,对老年用户来说录入体验都挺糟糕。我想做的就一件事:让他测完血压,打开 App,10 秒以内录完,关掉。


键盘 vs 拨轮:这个决策纠结了挺久

数字键盘方案开发快,SwiftUI 的 TextField 加 .keyboardType(.numberPad) 分分钟搞定。但自己试了一下觉得不对——血压录入是高频重复动作,每天至少两次,键盘方案需要点三个输入框、分别输数字、再点完成,步骤太多。

换成拨轮(Picker,wheel style)完全不一样。手指转动有物理阻尼感,视觉焦点稳定,老年人手指粗也容易操作。更关键的是血压值本来就在合理区间里滚动,根本不需要随机输任意数字。

换成拨轮后让我爸试了一次,他第一次用,三个转轮转一转,10 秒以内搞完。这事儿对我来说就算验证通过了。


数据模型:SwiftData + 可选 iCloud

本地持久化用 SwiftData,配合 CloudKit 做可选同步。核心数据模型长这样:

@Model
final class HealthRecord {
    var id: UUID
    var timestamp: Date
    var systolic:  Int?
    var diastolic: Int?
    var pulse:     Int?
    var weight:    Double?
    var tagIDs:    [String]   // 关联「状态印章」,如吃药/运动/好睡眠
    var profileID: String     // 多人档案,默认 "default"
}

tagIDs 存状态印章的 ID 数组,每条记录可以挂多个标签,趋势图分析时可以对比「吃药当天 vs 没吃药」的血压差异。

profileID 是为家庭多档案设计的,子女帮父母建一个档案,数据完全隔离,切换也方便。

iCloud 同步做成可选项,ModelConfiguration 里根据用户设置决定用 .automatic 还是 .none。有些用户就是不想把健康数据上云,买断 + 完全本地存储对他们是实质性保障,不是噱头。


AppIntents:Siri 快捷指令,200ms 延迟是试出来的

AppIntents 框架支持 Siri 唤起「用健康手账记录血压」,打开 App 后直接弹出录入 Sheet。

实现逻辑是 openAppWhenRun = true,App 打开后延迟一段时间,发 NotificationCenter 通知,主界面收到通知弹 Sheet。延迟设的 200ms——这个数字是试出来的经验值。低于 100ms 时,Sheet 的视图层级还没渲染完就收到通知,偶发闪退或 Sheet 不弹;200ms 基本稳定,再长用户又能感知到卡顿。没找到官方文档说明这个时机,就这么凑出来的。

这个功能对老年用户其实挺实用——叫一声 Siri,App 开了录入界面就在那,不用找图标找入口。


PDF 就医报告:踩坑最多的地方

血压数据导出成标准格式 PDF,可以直接打印或在手机上递给医生。这个功能在同类免费工具里基本没有,但技术上花时间最多,差不多三四天。

用的是 UIGraphicsPDFRenderer,把数据和图表渲染进 PDF。主要踩了两个坑:

中文字体渲染问题:直接用系统字体 UIFont.systemFont 在 PDF 里渲染中文,低版本 iOS(15.x)上部分汉字会变成方块。复现条件是字体 size 小于 12pt 且页面有较多中文字符时必现。解法是显式指定 CTFont 并传入字体文件路径,绕过系统字体的 PDF 嵌入逻辑,才稳定下来。

多页分页:数据量大时内容超出单页,自动分页逻辑需要手动计算每个元素的高度再决定是否换页,SwiftUI 视图没法直接用,得把内容拆成一块块手动绘制。这部分代码写得挺丑,但能跑。


定价:买断,没有订阅

试了三个方案:免费 + 订阅、免费 + 一次性内购 Pro、直接付费下载。最后选了方案二,免费下载,一次性买断 Pro。

理由直接说:目标用户是需要长期记录的慢病患者,让这群人每个月掏订阅费,感觉在利用别人的病情赚钱。有点可惜的是买断模式在 App Store 推荐层的权重可能不如订阅 App,但这是可以接受的取舍。


目前状态和一个问题

App 刚上线,版本 1.0,下载量还很少。工具型 App 冷启动本来就慢,健康类尤其需要时间建立信任。

目前最不确定的是家庭多档案这个功能——子女帮父母建档案、陪诊时导出 PDF 递给医生这个场景,我设计时觉得需求挺真实的,但实际有多少人用,现在数据太少,完全不知道。

用过同类产品或者自己做过健康类 App 的,欢迎聊聊这个功能的判断。

App Store 链接:https://apps.apple.com/app/id6761605717

posted @ 2026-04-26 10:51  samexxx  阅读(1)  评论(0)    收藏  举报