你走到了最后一步:app 已经准备好上架 App Store。结果 Apple 因为一个你从没听说过的原因把它打回了。自 2022 年 6 月起,如果你的 app 允许**创建**账户,那它也必须允许从内部**删除**账户(5.1.1 v 规则)——而停用不算数。网上那个"快速合规"的建议(把用户数据藏起来)是个双重陷阱:它既违反欧洲的 GDPR 和加州的 CCPA,Apple 也照样拒审。这里是唯一正确的做法:真正删除个人数据,又不把数据库搞崩,把按钮放在 Apple 要求的位置,附上可以直接粘贴的 prompt,并讲清楚订阅这种情况该怎么处理,才不会在这个过程中赔钱。
这一刻总是相同,也总是让人难受:你做完了 app,提交到 App Store 审核……然后因为 5.1.1 规则被拒审。它之所以让你措手不及,是因为 AI 在构建时,注意力都放在创建账户和使用 app 的流程上——几乎从不去想删除账户的流程。这是一项法律和 Apple 的要求,你必须在发布前明确、主动地把它要出来。
这里是真正行得通的平衡点。真正的技术难题是:如果你"粗暴地"删掉用户,数据库就会崩(他的订单、评论等等会指向一个已经不存在的用户)。专业的解决方案:真正删除个人数据(姓名、邮箱、照片、电话),但在原位留下一个匿名空壳,以免破坏关联。个人数据永远消失;而你数据库的完整性得以保留。
这个 prompt 会让你的 AI 拿出满足规则和法律所需的一切,同时不破坏你的数据库。复制粘贴给它:
为我的 app 实现账户删除,遵守 Apple 的 5.1.1 规则以及 GDPR/CCPA。我的技术栈:[告诉它你的技术栈,例如 Supabase + Next.js]。 1. 在设置里创建"删除我的账户"按钮,容易找到。 2. 删除之前,显示清晰的确认(这是不可逆的),如果需要,可以要求验证身份(通过邮件/电话发一个验证码)。 3. 对个人数据(姓名、邮箱、照片、电话)做带不可逆匿名化的 SOFT DELETE。不要藏起来:把它们替换成匿名值(例如"已删除用户")或 NULL。 4. 留下一个空壳,以免破坏 foreign keys(他的订单/评论不能崩)。 5. 在 auth 系统里也删除身份(例如 Supabase Auth admin deleteUser),不只是在我的表里。 6. 如果用户有一个活跃的 SUBSCRIPCIÓN(订阅),在删除前提醒他,并告诉我如何处理取消,以免继续向他收费,也不丢失法律要求保存的账单记录。 7. 在审计日志里记录该账户已被删除(不含个人数据),以备法律要求时能证明。 给我迁移脚本、匿名化函数和按钮组件,并用简单的步骤向我解释每一部分做了什么。
Join 4,200+ builders. No credit card. Build your first app with AI in minutes.