Back to Blog
·1 min read

2.1(b) 拒审:干净设备上跑提交的那个包

一个新 app 的首版提交被拒:Guideline 2.1(b) — App Completeness,审核员没能完成对 app 的审核。 这条准则的教训不在具体哪个 bug,而在

一个新 app 的首版提交被拒:Guideline 2.1(b) — App Completeness,审核员没能完成对 app 的审核。

这条准则的教训不在具体哪个 bug,而在它指出的那道缝:审核拿到的是你上传的那个包,在一台干净的 iPhone 和一台 iPad 上冷启动,以全新用户、零数据、零已授权限的身份走主流程。而本地验证几乎都是"热"的:数据在、权限在、入口是你调试时修通的那条;甚至常常是从工作区重新构建,而不是用提交的那个归档。这些默认单独看都没错,合起来恰好跳过审核真正执行的那一遍——所以组件级检查全绿和主流程走不通,从来不矛盾。

通用的修法,顺序是关键:

1. 用提交的那个构建本身复现,不是重新 build 工作区。审核判的是归档,要修的也是它。 2. 设备"抹掉所有内容与设置"后全新安装,零数据、零权限,把 app 存在的意义那条流程从头走到尾。 3. 上架的每个设备类别各走一遍;iPhone 走得通不证明 iPad 走得通,它们是不同的布局和代码路径。 4. 复现、修复之后,再回 App Store Connect,说清在什么设备、什么状态下复现,改了什么。

一分钟自测:抹掉一台模拟器,装上实际提交的那个包,什么都别授、什么都别导,看主任务能不能在一分钟内走完。你走不完的那条路,审核员也走不完。

#build-log

Written by

Peter Zhang

Building local-first Mac & iOS productivity apps at Obelisk Club.