2025年6月9日,苹果在 WWDC 上发布了基于 Liquid Glass(液态玻璃)的全新设计语言,那一刻我在屏幕前难以抑制内心的兴奋——我知道,属于 Me 的又一次进化,终于要开始了。
作为从一开始就全局支持原生磨砂玻璃效果的应用,Me 在视觉层面已经积累了很好的基础。而这一次,借助系统的底层能力,Me不仅实现了向液态玻璃的平滑过渡,更借此契机,完成了从设计语言到功能架构的全方位重构。
从六月下旬启动开发,到如今 Me 3.0 正式成型,我想与你分享这次升级背后的思考与实现。
一、视觉新生:从「磨砂」到「液态」的沉浸体验

液态玻璃的加入,无疑是这次视觉升级中最让我着迷的部分。在 Xcode 26 中编译后,导航栏几乎无需调整就自然呈现出全新的液态质感。而对于其他界面元素,也仅需通过 .glasseffect() 修饰符轻松适配——技术上的低门槛,却带来了视觉上的高回报。
尽管苹果官方建议“避免过度使用液态玻璃”,但我仍决定全局启用该效果,并保留用户切换回经典磨砂风格的选项。初期的 Beta 版本确实存在性能压力,一度让我犹豫是否该收敛一些,但随着系统迭代,优化效果日益明显,这也印证了我坚持的理由。
另一个显著变化,是背景设计的风格转向。旧版为了突出磨砂质感,采用了高饱和度的图片背景,初次惊艳,但久看易疲。3.0 版本中,我改用黑白配色与渐变点阵作底,反而更显耐看与沉稳。如果你选择液态玻璃效果,我强烈建议搭配一张色彩鲜明的自定义背景图,光影流动之间,视觉张力拉满。
二、功能重构:更合理,也更强大
这一次,我重新思考了模块划分的逻辑。原本的“今天”、“回顾”、“数据统计”、“运动记录”、“Me”,现在重组为“今天”、“健康”、“锻炼”、“挑战”、“Me”。不只是改名,更是对功能架构的深层整合。
今天:你的健康每日简报

「今天」不再只是数据的堆砌,而是你健康生活的智能助手。在新版本中,我移除了之前Me自带的进度环,转而专注于呈现Apple Watch的健身圆环,让数据更加专注。现在,「今天」是一个高度模块化的仪表盘。新增的训练负荷通过直观的图表,对比过去28天与7天的训练数据,让你清晰了解每次训练的强度是否合理。压力评估模块则融合了HRV、心率、活动状态等多重数据,并借助机器学习模型,为你提供当前的压力水平评估——随着你的持续使用和反馈,这个模型会越来越懂你。最令我自豪的是全新的仪表盘和今日状态模块。仪表盘通过精美的环形进度条一览当天所有健康指标,并且你完全可以自由决定显示哪些、如何排序。而今日状态则整合了睡眠、运动、心血管等多维数据,通过动态算法生成你的每日健康评分,并给出专属改进建议。当然,所有模块都支持自定义排序,你可以打造一个完全属于你的「今天」。
健康:化繁为简,聚焦当下

之前版本的健康首页采用了一个大型胶囊区块,同时展示最新值和周、月、年的平均值。但很多用户反馈,他们更关心的是“现在”和“变化”,而不是历史平均。
因此,新版做出了一个大胆而简洁的改进:我使用清晰的双栏列表排布各项指标,突出显示最新数值和相较于上一次的变化趋势。不仅如此,我还为11种健康数据类型分别设计了精致的渐变配色——无论是在首页还是在详细页面,这些色彩与默认背景相结合,视觉表现都相当赏心悦目。
锻炼:让每一次运动都被看见

锻炼页面现在变得更强大了。默认视图采用了多维图表和直观的日历打卡,让你对自己在某段时间内的运动表现一目了然。动态运动类型统计模块也得到了加强——你再也不会受限于4个常用类型,所有运动都会被自动识别和分类。
查找历史记录也变得前所未有的便捷。我加入了强大的筛选器,支持按时间范围和运动类型快速检索。单次运动记录的详情页现在包含更丰富分段统计,此外还新增了两款风格独特的分享模板,让你轻松晒出成就。
挑战:与自己、与朋友、与所有人竞赛

「挑战」模块由之前的运动目标和排行榜整合升级而来。现在它分为三个层级:自我挑战、好友竞赛和全员排行榜。无论你是希望突破自我,还是想和朋友一较高下,甚至与所有Me用户比拼——这个模块都能满足你那该死的好胜心。运动的乐趣,一半在于挑战。
Me:更个性,更感恩

「Me」页面本次也收获数项值得一提的升级:
心率区间自定义:现在可以手动设置静息心率和最大心率,算法推荐将更贴合你的实际身体状况;
轨迹热力图:你的每一次跑步、骑行都会在地图上留下印记。时间越近、轨迹越频繁,地图上的光斑就越亮;
训练负荷计算扩展:由于性能考虑,Me默认只计算2025年1月1日以后的训练负荷数据,但在这个模块中你可以手动重新计算更早的记录(需注意:该功能仅支持2024年6月10日之后在iOS 18和watchOS 11上记录的数据);
特别感谢:我一直相信,好的作品从不是孤军奋战的成果。在这里,我特别感谢了那些在开发路上给予我灵感和技术支持的开发者伙伴,以及一直为我出谋划策的产品经理们。
三、技术反思:踩坑、自研与 AI 编程
SwiftData
在 Me 的数据持久化方案中,我选择了苹果在 2023 年 6 月推出的 SwiftData——某种意义上,这也让 Me 成了最早一批在生产环境中使用这一框架的 App。不得不说,作为一个新兴技术,SwiftData 在带来现代化声明式语法的那一刻,也带来了无数“惊喜”。
由于它实在太新,我在开发过程中遇到的不少问题,甚至连苹果官方技术支持都无法给出明确的解决方案。数据版本迁移、多线程上下文安全……对于一个主要偏客户端的开发者来说,简直是持续不断的噩梦。但踩坑踩多了,倒也久病成医。在 Me 3.0 中,我大幅减少了对 SwiftData 的依赖,并引入 ModelActor 来加强线程安全的管理。
不过随之而来的是新的课题:当你使用 ModelActor 之后,从 ModelContext 中 Fetch 出来的结果并不符合 Sendable 协议,无法直接跨线程传递。我必须手动将其转换为其他结构体才能继续处理——这种额外步骤,确实拖慢了开发的节奏。所以,如果你正在考虑是否要在项目中使用 SwiftData,我的建议是:谨慎评估,尽量避开早期坑点,尤其是如果你需要高度定制化的数据流机制。
自定义组件
我一直不太理解苹果在某些组件设计上的限制思路。比如 ProgressView 和 Gauge,样式和尺寸被严格约束,几乎不允许开发者自由调整;再比如 Activity Rings(健身圆环),虽然在 App 中可以使用,但一旦你想把它做到小组件或者表盘上——抱歉,此路不通。
每当你想要稍微跳出官方设定的框框,这些组件仿佛都在对你说“No”。于是,我只好走上自力更生的道路:借鉴苹果官方组件的视觉风格和交互逻辑,从头实现了一系列支持高度自定义的组件。
不只是复制,我还加入了一些自己的创意。例如我实现了多阶段的进度条(用于训练负荷的视觉化)、可灵活定义背景线框和样式的雷达图,以及支持交互的动态热力图——它们不仅在 Me 中得到了应用,我也计划在整理代码后,将这些组件开源发布到 GitHub。或许有一天,它们也能帮到像你一样,不愿被默认设置束缚的开发者。
Vibe Coding
2023年,我开始接触ChatGPT辅助编程,短短两年时间,AI编程的发展速度令人惊叹。回想Me2.0开发时,我需要为排行榜模块编写后端服务,当时对Python几乎一无所知(现在也还是一无所知)。我花了一天时间快速浏览Python语法,随后在Cursor的辅助下,仅用两天就完成了后端服务的开发与部署,这种效率在传统开发模式下难以想象。
在这次Me3.0的升级过程中,我的主力工具换成了Claude Code。虽然它的命令行交互方式可能让一些开发者望而却步,但一旦体验过其强大的代码理解和生成能力,你很可能会和我一样爱上这种纯净而高效的编程方式。与此同时,我也测试了Google的Gemini——它的交互设计十分友好,很会提供情绪价值,但在Swift编程方面总是差一口气,好几次几乎就要成功,却总是在最后关头功亏一篑。
最近OpenAI的Codex表现相当抢眼,既提供CLI工具,也有Cursor插件。与Claude Code相比,Codex属于“人狠话不多”的类型,给出的解决方案简单直接,效果出众。不过它的CLI交互体验还比较简陋,像是毛坯房,使用额度策略也让人琢磨不透:Claude Code每5小时重置额度,而Codex却让我等了1天零16个小时。此外,我也体验了几款国产AI编程工具,如TRAE、CodeBuddy和Qode。其中TRAE表现尚可,至少达到了可用水平,每月10美元的定价也还算合理;另外两款则暂时不建议尝试。
四、写在最后:不止于迭代,更是一场真诚的构建
Me 3.0 不只是一次功能叠加或界面焕新,它承载的是我对“健康数字伴侣”的重新理解:它应更直观,也应更懂你;它应更美观,也应更高效。
从磨砂到液态,从分散到整合,从手动到智能——变的是形态,不变的是我希望帮助你更好地关注自我、享受运动的初心。
未来,我仍将继续倾听你的反馈,不断优化 Me 的体验。你是否喜欢这一次的改版?有没有功能让你特别心动?欢迎在评论区告诉我。