2 分•作者: zakmcintyre•13 天前
嘿,HN,我独自完成了 DreamsJar 的开发。它是一款原生 SwiftUI 应用,用于直观地追踪储蓄目标——你可以为你想储蓄的东西创建“罐子”,并在储蓄过程中记录存款。<p>这个想法源于我想要一个比电子表格更简单,但比仅仅盯着银行余额更直观的东西。我希望储蓄能让人感受到进步,而不仅仅是数字计算。<p>它的工作原理:
- 为目标(度假、新笔记本电脑,或其他任何东西)创建一个罐子
- 设定目标金额和时间线
- 记录存款,看着罐子逐渐填满
- 达到 10%、25%、50%、75% 的里程碑时,会有小小的庆祝<p>使用 Swift/SwiftUI 和 SwiftData 构建。免费版提供一个目标。<p>高级版(每月 3.99 美元或终身 49.99 美元)解锁无限目标、iCloud 同步、自定义提醒和存款历史记录。<p>一些我发现有趣的技术决策:
- 使用 SwiftData 和明确的 Application Support 存储路径来实现 CloudKit 兼容性
- 根据用户测试显示的用户流失情况,将创建第一个目标所需的步骤从 11 步简化到大约 6 步
- 不得不在某些设置视图中放弃 async/await,以避免 @MainActor 死锁——最终改用基于回调的 API 和延迟加载<p>很乐意回答关于构建、SwiftUI/SwiftData 的痛点或 App Store 审核流程的问题。