返回开发博客
工程手记 ·

通往发布之路:为 iPhone、iPad、Apple TV 与 Apple Vision Pro 设计 Easy Eyes

深入回顾我们如何重构 Easy Eyes 的原生 SwiftUI 架构、构建轻量级光球与眨眼渲染引擎、利用 RealityKit 打造空间护眼体验,并筹备 App Store 发布。

在软件设计中,最难把握的品质往往是“克制”。当我们为了缓解屏幕疲劳而设计一款应用时,这个挑战尤为突出:如果一款护眼应用本身充满了刺眼的配色、繁杂的图表和喧闹的弹窗,它就在制造它本该缓解的问题

在过去数月的开发周期中,我们将 Easy Eyes 从早期的功能原型演进为一套横跨 iOS、iPadOS、tvOS 与 visionOS 的精致跨平台体系。本文将向大家分享我们在界面重构、动画引擎调优、空间计算探索以及离线数据架构中的关键工程决策。

1. 2026 年水晶极简重构:以安静为最高原则

最初的原型包含复杂的仪表盘、密密麻麻的历史折线图以及多种闪烁的进度条。在早期测试中我们发现,用户打开应用时不仅没有放松,反而感到了额外的认知负担。

在 2026 年春季,我们实施了彻底的水晶极简重构:

  • 时段智能单卡:首页顶部仅展示一张基于当前时间的推荐卡片(如晨间追光、午间 20-20-20 远眺或晚间呼吸)。用户无需在繁复的菜单中挑选,打开即可开始。
  • 四套低刺激水晶主题:Dusk(微冷灰蓝)、Ember(暖调微铜)、Warm(中性浅金)与 Paper(明亮浅色)。所有色板的对比度与饱和度均经过反复微调,确保即使在完全黑暗的房间中使用也不会刺眼。
  • 无干扰打卡:练习完成后,数据默默在后台完成记录,没有喧闹的礼花特效或强制评分弹窗。
Easy Eyes 极简首页展示

重构后的极简首页:仅呈现一个明确的时段操作,去除一切非必要视觉干扰。

2. 柔和光球与生理眨眼渲染引擎

在眼动与呼吸练习中,动画的平滑度直接决定了神经放松的效果。任何掉帧、突变或生硬的加速都会引起眼睛的反射性微眼跳(microsaccades),破坏平滑追视的生理益处。

我们在 SwiftUI 之上封装了两个专用渲染引擎:

  1. LitSphere 柔和光球引擎:用于平滑追视、8字描摹与共振呼吸。光球采用基于 CoreGraphics / Metal 的多层径向渐变与发光过渡,配合精确的数学正弦与双纽线方程,在 120Hz ProMotion 屏幕上实现极致丝滑的运动轨迹。
  2. BlinkCanvas 生理眼睑引擎:用于 Kim 等人(2020) 的完整眨眼模式。我们放弃了机械的进度条,转而绘制了符合解剖学运动特征的眼睑曲线,引导用户以 1 秒闭合、2 秒轻柔保持、1 秒睁开的自然节律完成练习。

3. Apple Vision Pro 上的空间护眼(Easy Eyes Vision)

Apple Vision Pro 的推出为数字护眼带来了全新的命题。一方面,在透视头显中工作数小时同样会导致视疲劳;另一方面,空间计算赋予了我们在真实房间中构建 3D 深度线索的全新可能。

我们为 visionOS 打造了专门的 Easy Eyes Vision 空间体验:

  • 半透明毛玻璃悬浮控制:界面以 GlassWindow 形式悬浮在用户舒适的视线下方,完全不遮挡现实房间视野。
  • RealityKit 空间光球:在远近调焦练习中,3D 光球在距离用户 0.5 米至 3 米的真实空间深度中平缓移动,引导自然的双目集合与深度放松。
  • 诚实的医学提示:我们在应用内明确提醒,头显显示屏的光学焦距是固定的;真正的 20-20-20 远眺仍建议摘下头显,注视 6 米外的真实物理世界。

4. 离线优先的打卡同步架构

护眼习惯往往发生在弱网或无网络环境下(如飞机上、地铁通勤中或关闭 Wi-Fi 的深度工作时段)。Easy Eyes 必须保证在任何环境下即开即用。

我们设计了坚固的离线优先同步机制:

离线本地队列

所有 11 种模式的动画逻辑、计时器与高质量语音引导均 100% 离线内置于应用包体中。每次完成练习后,打卡事件首先写入本地持久化队列,并在网络恢复后自动与 Safafish 后端服务器安全同步。

同时,新用户首次启动时无需注册即可在访客模式下完整体验全部功能。当用户日后决定绑定 Apple 账户或邮箱时,本地积累的连续天数、徽章与打卡记录会无损合并升级。

5. App Store 上架筹备与未来展望

截至 2026 年 8 月底,Easy Eyes 已完成了 6 种语言(英语、中文、日语、西班牙语、法语、韩语与乌克兰语)的完整本地化,并通过了多平台辅助功能(VoiceOver、Dynamic Type)的全面测试。

App Store 审核准备工作正按部就班推进中(ASC App ID: 6802504215)。Easy Eyes 将采用极其亲民的 $0.99 一次性买断模式发布,无需订阅,无任何内购与广告骚扰。

感谢大家在开发过程中的持续关注与支持。我们期待在 App Store 与大家正式相见!