Nate Gu

Three rejections before the App Store上架前被退回的三次

Note, October 2026笔记,2026 年 10 月

melu, a food diary with a fox, went live on 6 October. The first submission was on 29 September. In between, Apple sent it back three times. None of the rejections were unfair. Each one pointed at something I had skipped.有狐狸陪着的饮食日记 melu,10 月 6 日上架。第一次提交是 9 月 29 日。中间 Apple 退回了三次。没有一次是冤枉的,每次都指向一件我跳过了的事。

First: say what the app does第一次:说清楚它是干什么的

The first reply asked for a screen recording, plus answers about what the app is for, how to reach each feature, which outside services it uses, how it differs by region, and whether it touches regulated content. My review notes had been a few lines. I recorded two minutes on a real phone and answered each question in turn.第一次回复要一段录屏,再回答几件事:App 是做什么的、每个功能怎么进去、用了哪些外部服务、不同地区有什么差别、有没有受监管的内容。我的审核备注当时只写了几行。后来用真机录了两分钟,逐条回答。

Second: ask before sending anything第二次:发出去之前先问

melu sends meal notes to an AI service to write its replies. I had explained that in the privacy policy, but the app itself never asked. Apple also wanted sources for every health number on screen, such as BMR, protein targets and BMI. The formulas were correct; I just hadn’t shown where they came from.melu 会把饭的记录发给 AI 服务来写回应。这件事我写在了隐私政策里,但 App 里从来没问过用户。Apple 还要求屏幕上每个健康数字都有出处,比如基础代谢、蛋白质目标和 BMI。公式本身是对的,只是没告诉别人从哪来。

So now there is a consent page before the first send. It names who receives the data, and saying no still leaves the diary fully usable. There is also a page listing the method and source for each estimate.现在第一次发送前有一页同意说明,写明数据发给谁;选「不同意」,日记照样能用。另外加了一页,列出每个估算的方法和来源。

Third: don’t hide a permission behind a switch第三次:别把系统授权藏在开关后面

Turning on Apple Health flipped a switch that went straight to the system permission prompt. Apple wants a page first that says what will be read and why, then a button that opens the prompt. If someone declines, the app doesn’t ask again.打开 Apple 健康原来是一个开关,一拨就直接弹出系统授权框。Apple 要的是先放一页,说明要读什么、为什么读,再用一个按钮弹出授权框;用户拒绝后不再追问。

What I check now现在我提交前会查的

  • If anything leaves the phone, a consent page comes before the first send, naming the recipient. Declining must not break the core of the app.只要有东西离开手机,第一次发送前就要有同意页,写明接收方;不同意也不能影响核心功能。
  • Every health figure links to its source.每个健康数字都能点开看到出处。
  • System permissions open from an explanation page, never from a switch.系统授权从说明页的按钮弹出,不用开关触发。
  • Review notes answer Apple’s questions up front, with a recording made on a real device.审核备注一开始就把 Apple 会问的写全,附真机录屏。
  • Test on iPad, even for an iPhone-only app. Two of melu’s rejections came from an iPad Air.就算只做 iPhone,也要在 iPad 上测。melu 后两次被退回都是在 iPad Air 上审的。

Apple only mentions what it notices each round. Fix one thing and the next round can surface another. The cheaper path is to run the whole list before the first submission.Apple 每一轮只说它这次看到的问题,修好一个,下一轮可能又冒出一个。更省事的办法,是第一次提交前就把整张清单过一遍。

All writing全部文字