构建 · 2025-11-09 · 11 分钟

发布 Tapsy 1.0

从首个 commit 到第一份上架二进制,八个周末。两个 TestFlight 构建,一共十四位测试者。一次 App Store 被拒——不是因为 App, 是因为元数据。

一份精简的时间线

  • 周末 1:一个能计数的小部件。仅此。
  • 周末 2:存储层。「数据模型」就是 plist 里的 [Counter] 数组, 一直没换过。
  • 周末 3:iCloud 同步。CloudKit 不难,难的是给要同步的东西命名。
  • 周末 4:第一个能用的 widget。点击目标偏小,调大。
  • 周末 5–6:watchOS 复杂功能。半个周末浪费在一个布局 bug, 其实是 entitlement 里缺了一条关系声明。
  • 周末 7:设置、导出、App 主体。诚实地说占工作量 50%,使用 时长占 ~5%。
  • 周末 8:TestFlight,修补,发布。

这篇手记会展开:那次被拒的具体原因(一条关于小部件命名的负面元数据 意见),以及若干看似微小但回头看相当重要的取舍——例如宽显示时 对计数向上取整。

更多手记