我的第一个 App 上架 App Store,到底要走哪些流程?
我的第一个 App 上架 App Store,到底要走哪些流程?
花 $99 只是起点:从个人开发者注册、TestFlight 内测到正式上架 App Store,中间到底踩哪些坑?我把家庭美食协作 App 从 Flutter 真机调试一路到准备提审的全过程拆成了 3 个阶段,每一步的时间、花费和必须物料都列清楚。
背景
前两天我用 Flutter 做了一个「家庭美食协作」App,解决家人「今天吃什么」的永恒难题——邀请码加入家庭、协作排菜、AI 口述录入拿手菜、24 节气食材推荐。
目前只能用 Mac 通过 flutter install 临时安装到自己的 iPhone,免费签名 7 天就过期,家人根本没法用。
要让它真正流通起来,必须上 App Store。我把整个流程踩下来,分 3 个阶段讲清楚。
阶段 1:TestFlight 内测(最快落地)
目标:朋友和家人扫码装,体验近似正式版,不过 Apple 审核。
你需要的钱和时间
(项目 / 花费 / 时间)
①Apple Developer Program 会员·$99/年(约 ¥688)·审核 24–48 小时
②开发者账号材料·免费·现场填
操作路径
①访问 https://developer.apple.com/programs/ ,用现有 Apple ID 申请个人开发者
②付 $99,等邮件通知”Your membership is active”
③进入 App Store Connect → My Apps → 创建 App 条目
④在 Xcode 里 Archive 生成 .ipa,用 Organizer 上传
⑤在 TestFlight 里加内测人员(最多 10000 人,邮箱邀请或公开链接)
⑥首次 TestFlight 审核 24 小时
TestFlight 有效期 90 天,过期了再提交一版新 build 就续 90 天。对”给家人用”的场景完全够。
阶段 2:正式上架 App Store
目标:App Store 里搜得到,任何人下载。
比阶段 1 麻烦一个数量级——特别是中国区。
素材准备(这些必须你自己给)
•App 图标 1024×1024 PNG(不带圆角、不带透明)
•App 名称:中英文都要,中国区要先确认没被抢注
•截图:至少 6.7 寸 iPhone(Pro Max)3–10 张
•简介:80–4000 字
•关键词:最多 100 字节
•分类:家庭生活 / 生活方式 / 美食饮品
•隐私政策 URL(必须,放服务器上一个 HTML 页面就行)
•技术支持 URL
•年龄分级问卷:暴力、性、赌博等 12 个维度
中国区额外要求
①软件著作权:中国版权保护中心申请,约 ¥300,30 个工作日
②App 备案(2024.3.31 起强制):在工信部 ICP 备案系统单独给 App 提交,需要软著
③隐私合规:列出每个 SDK 收集的数据(语音识别、图片选择器、麦克风、相机、本地存储)
④实名认证:如果有社交/评论/UGC,必须接入实名
App 本身的合规点
(检查项 / 是否需要)
①UGC 内容举报入口·✅ 有菜谱/评论就必须
②账号删除 UI·✅ iOS 16 起强制(很多人栽在这)
③Apple 登录·如果有第三方登录就必须加
④后台 IAP·有内购才需要
提交流程
•上传 .ipa → 填写上架信息 → 提交审核
•首次审核 24–48 小时,经常被拒,改完再提
•中国区比国际严,常见拒绝理由:UGC 内容审核缺失、隐私政策不合规、未备案
时间预估:顺利 1–2 周,卡在软著 5–8 周。
阶段 3:其他分发方式(不走 App Store)
如果只给家人用,不想花时间做审核合规:
•TestFlight 公开链接:阶段 1 够用,10000 人额度
•企业证书签名 IPA + 第三方平台(蒲公英、分发易):有被封号风险
•继续 flutter install:Mac 每 7 天重新签一次
我的实际选择
①先花 $99 买 Apple Developer 会员,无论哪种路径都要
②先跑 TestFlight,1 天搞定,家人当天就能用
③TestFlight 用顺了,UGC 审核/账号删除都补齐,再走正式上架
④上架优先国际区,中国区等软著和备案下来再说
先让产品跑起来,再让它合规上架——这个顺序比反过来强得多。
顺便踩过的其他坑
这一路除了上架流程,还踩了几个能写成单独一篇的坑:
•Let’s Encrypt 的 ECDSA 证书和 Flutter 的 dart:io 不兼容,必须换 RSA 才能 iOS 真机调试
•阿里云对未备案子域名做 HTTP 层拦截,HTTP-01 的 ACME 验证永远拿不到证书
•家庭路由器/运营商 DPI 对 dart:io 的 TLS ClientHello 签名注入 RST 包,换端口也无效,最后靠 cupertino_http 换成 iOS 原生 NSURLSession 才通
这几个坑都花了几小时才定位,后面单开文章拆。
结尾
上架 App Store 本质是一场「合规 > 代码」的游戏。代码写完是起跑线,真正的路在软著、备案、审核问卷里。
你的 App 现在到哪一步了?评论区交流。
作者:森曦 | 2026.04.24
夜雨聆风