夜雨聆风学习资料网

ARTICLE · 1020507

App Store 上架避坑清单 2026

App Store 上架避坑清单 2026

本文配套的《App Store 上架避坑清单 · 可勾选版》放在文末,可直接取。

如果你现在就卡着,直接拉到最后看附录 A 的报错对照表,七条常见报错的真正原因都在那。

这是我自己上架时记下来的顺序和报错。有写得不对的地方,或者你卡在别的环节,可以直接跟我说。


先看这个:三条依赖关系

《付费应用程序协议》变成 Active        ↓   不 Active,内购在沙盒里会报错    内购商品配置完成(状态变绿)        ↓   黄灯 Missing Metadata 就测不了       真机 + 沙盒账号测试            模拟器测不了内购

协议还在 Processing 的时候去调支付代码,会得到一堆 Empty Product 或 Payment Failed,很容易以为是代码写错了。代码没错,是协议还没生效。


怎么用

这不是教程。教程讲怎么操作,这份讲的是按什么顺序做,以及做错了会报什么错。

上架卡住的时候,往往不是不会操作,是顺序错了。有些步骤必须先完成,后面才走得通。

建议逐项打勾。


阶段 0 · 开工前备齐材料

大概 10 分钟,一次性。先写进备忘录,后面全程复制粘贴。

  • ☐
    英文或拼音地址(苹果的表单基本只认这两种)
  • ☐
    银行卡 SWIFT 代码(打卡背面客服电话问,或搜「XX银行 XX市分行 SWIFT」,8-11 位大写字母)
  • ☐
    银行卡号
  • ☐
    身份证号(填 W-8BEN 的「外国税号」要用)

下面两项只有上线欧盟才要,销售范围里不勾欧盟的话可以跳过:

  • ☐
    一个能收短信的手机号(欧盟 DSA 申报要验证码,号码会被公开,见阶段 2)
  • ☐
    一个专用客服邮箱(同样会被公开,不要用注册 Apple ID 的主力邮箱)

阶段 1 · 财务三关

入口:App Store Connect →「协议、税务和银行业务」(新版叫「业务 Business」)

三个模块要全部填完,协议才会生效。

1.1 联系信息 Contacts

  • ☐
    四个角色(高级管理 / 财务 / 技术 / 法务)全部绑定到自己
  • ☐
    职务填 CEO 或 Developer 都可以

1.2 银行业务 Banking

  • ☐
    国家/地区选银行卡所在地
  • ☐
    填 SWIFT,系统会自动识别出银行名
  • ☐
    账户持有人姓名 = 名拼音 + 空格 + 姓拼音,要和银行开户名一致
  • ☐
    账户货币选 CNY,苹果按当天汇率换算后打款

1.3 税务 Tax Forms

填的是美国的 W-8BEN。如实填,不用交美国税。

  • ☐
    「你是不是美国居民/公民/公司」→ 否
  • ☐
    「有没有在美国从事商业活动」→ 否
  • ☐
    Individual or Organization → Individual
  • ☐
    TIN:不用填美国的 SSN 或 ITIN。只在「Foreign Tax Identifying Number(外国税号)」填中国身份证号
  • ☐
    Treaty Benefits(中美税务协定优惠)→ 勾选是
  • ☐
    底部输入名字拼音作电子签名,提交

1.4 等待生效

  • ☐
    刷新页面,状态会从「待定」变成「处理中 Processing」
  • ☐
    等它变成绿色的「有效 Active」。快的话几分钟,慢的话 1-2 个工作日

变成 Active 之前不要去测支付代码。 见前面的依赖关系。

这一步是最常卡住的地方。等了两个工作日还是不变 Active,或者变绿之后沙盒还在报错,可以加我微信 leyi_journey,把后台截图发我看看是卡在哪一环。

1.5 顺手做掉:小型企业计划

年收入不到 100 万美元的话,抽成能从 30% 降到 15%。

  • ☐
    申请 App Store Small Business Program
  • ☐
    注册开发者之后就可以申请,审核需要时间,早点做(后台没有直达入口,搜官方申请页网址进去)

阶段 2 · 欧盟 DSA 合规申报

没填这项,App 会从欧盟 27 国的 App Store 下架。

销售范围里不勾欧盟就不用填。只要勾了,这一项就是必填的。

  • ☐
    入口:App Store Connect →「业务」→ 左侧「合规 Compliance」→ DSA 横幅「管理」
  • ☐
    身份选择:「是,我是交易者 (I am a trader)」(有内购、订阅、付费下载,或者接了广告,在欧盟法律里就算 Trader)
  • ☐
    填邮箱、手机号(收验证码)、拼音地址
  • ☐
    「这是不是纯邮政信箱 P.O. Box」→ 否,欧盟不允许用纯信箱
  • ☐
    以后每次发布新 App,还要在 App 信息页再勾一次 DSA 合规

这一步填之前要想清楚

你填的电话和详细地址,会公开显示在欧洲区 App Store 的 App 介绍页上,任何欧洲用户都能看到。

项目
说明
地址
欧盟没要求必须是法定居住地。挂靠的办公地址、亲戚的商铺、共享办公工位都可以,只要真有信寄来时有人能代收。不建议填自己的住址门牌号。
电话
公开后可能收到跨国推销电话。可以办一张低月租副卡,或者用阿里小号、移动和多号这类虚拟号。
邮箱
注册一个专用的客服邮箱,不要用注册 Apple ID 或银行的那个。

阶段 3 · 创建 App ID

苹果有两个后台,容易搞混:

后台
管什么
Apple Developer(developer.apple.com)
App ID、证书、底层权限
App Store Connect
商品、名称、截图、收款

入口:Developer → Account → Certificates, Identifiers & Profiles → Identifiers → +

  • ☐
    类型选 App IDs → App
  • ☐
    Description:自己看的名字,随便填
  • ☐
    Bundle ID:选 Explicit(明确的),不要选 Wildcard。格式如 com.yourname.yourapp
  • ☐
    Capabilities:勾上 Sign In with Apple(要做推送就一起勾 Push Notifications,漏了以后可以补)In-App Purchase 一般默认勾选且置灰,不用管

Bundle ID 注册后不能改,填之前想好。


阶段 4 · 内购商品配置

入口:App Store Connect →「我的 App」→ 你的 App → 左侧「商业化 Monetization」

还没有 App 的话,先建一个空壳,信息之后再补。

4.1 选类型

你要卖的
苹果的叫法
菜单位置
连续包月/包年 VIP
订阅 Subscriptions
「订阅」
终身买断 VIP
非消耗型 Non-Consumable
「App 内购买项目」
点数 / 金币 / 算力
消耗型 Consumable
「App 内购买项目」

订阅要先建「订阅群组 Subscription Group」。原因是同一群组内用户同时只能处于一种状态,不会既扣包月又扣包年。

4.2 Product ID

  • ☐
    全网唯一。这是交给 RevenueCat 对应商品的编号
  • ☐
    建议命名里带上价格,日后对账方便:pro_monthly_999(包月 9.99)、pro_lifetime_299(终身 29.9)

Product ID 定了基本改不了,命名一次想清楚。

4.3 必填项

漏掉任意一项,商品都会卡在「元数据缺失 Missing Metadata」:

  • ☐App Store 本地化
    :至少一种语言,显示名称和描述都要填(出海应用先填英文就够,其他之后补)
  • ☐价格
    :设置并保存
  • ☐Availability 销售范围
    :最容易漏的一项。看到蓝色链接「Set Up Availability」就说明还没设,点进去勾 All Countries or Regions,或指定地区
  • ☐审核信息截图
    :见 4.4
  • ☐审核备注
    :写一句就行,比如「这是应用内订阅界面,用户点击订阅后解锁全部高级功能」
  • ☐
    填完回到页面最顶部,点右上角 Save

4.4 审核截图的格式要求

这张图只给苹果审核员看,用户看不到。但格式要求比较死板:

要求
具体
最低分辨率
640 × 920
最高分辨率
3840 × 2160
格式
.jpg 或 .png
不能有 Alpha 通道
设计软件导出的 PNG 常自带透明通道。传上去会报「尺寸不对」或「格式不对」。报错信息是误导的,真正的原因是透明通道
不能有黑边
苹果按长宽比判断,左右留黑边会被判定为分辨率不标准

三种可行的做法:

  • A
    :iOS 模拟器跑到付费墙页面,按 Cmd + S,自动在桌面生成一张尺寸和格式都合规的截图。最省事
  • B
    :真机截屏,AirDrop 传到电脑
  • C
    :Mac「预览」打开 → 工具 → 调整大小 → 改成 1290×2796 或 1242×2688 → 文件 → 导出 → 格式选 JPEG。选 JPEG 是关键,能去掉 Alpha 通道

阶段 5 · 真机 + 沙盒测试

内购不能用模拟器测,也不能在 Expo Go 里测,必须真机。

  • ☐
    装了新的支付依赖之后,之前的打包就作废了,要重新打开发包(Expo:eas build --profile development --platform ios,约 10 分钟)
  • ☐
    新建沙盒测试员:App Store Connect →「用户和访问」→ 左下「沙盒测试员」
    • 邮箱必须是从未注册过 Apple ID 的。Gmail 可以用加号别名(你的邮箱+test1@gmail.com),既算新账号又能收到信
    • 「App Store 地区」决定测试时显示的货币
  • ☐
    手机上登录:设置 → App Store → 拉到最底部 → 沙盒账户(不用注销主 iCloud)
  • ☐
    测试时看支付弹窗上有没有 [Environment: Sandbox],有才是真的没扣钱

沙盒里的时间是加速的,现实中的「包月」大约 5 分钟就过期,方便反复测。


附录 A · 报错对照表

症状
原因
解法
沙盒购买报 Empty Product / Payment Failed
《付费应用程序协议》还没变 Active
等状态变绿再测,不要改代码
商品一直是黄灯 Missing Metadata
五个必填项漏了任意一个
依次查:Availability 销售范围、本地化的显示名称和描述、价格、审核截图、审核备注
上传截图报尺寸或格式错误,但尺寸量过是对的
图片带 Alpha 透明通道
用「预览」导出成 JPEG 重传,或模拟器 Cmd+S 直出
上传截图报尺寸错,图有黑边
苹果按长宽比判定
裁掉黑边,只留手机画面
右上角 Save 按钮是灰的
有必填项没填完
不让保存说明还有遗漏,回头逐项检查
订阅组状态异常
订阅群组本身也要单独设本地化名称
返回上一级给群组填名字
模拟器里内购调不出来
内购不支持模拟器
真机 + 沙盒账号

附录 B · 改不回来的几个决定

上架过程里大部分设置都能改,下面这几个不太能:

决定
说明
Bundle ID
注册后不能改,改就等于重来一个 App
Product ID
定了基本改不了,且要全网唯一。建议命名带价格
DSA 公开的电话和地址
会挂在欧洲区 App Store 页面上,撤下来麻烦。填之前想好用哪个号、哪个地址
订阅群组的归属
同群组内用户只能二选一,分组设计错了后期调整麻烦
小型企业计划的申请时机
不是不可逆,但审核需要时间。晚申请就等于多交了这段时间的 30%

附录 C · 各环节大概要多久

环节
时间
备齐材料
10 分钟
财务三关填表
30-40 分钟
等协议变 Active
几分钟到 2 个工作日
DSA 申报
15 分钟
App ID 创建
5 分钟
单个内购商品配置
20-30 分钟,第一个最慢
重新打开发包
约 10 分钟

本文配套资料

这篇文章里的流程,另外做了一份能真的打勾的《App Store 上架避坑清单 · 可勾选版》。

上面文章里的 ☐ 是图形,点不了。那份是飞书文档,49 个勾选框能点,点一下就打上勾,状态存着,关掉再打开还在。手机上对着后台边做边勾,不用记自己走到哪一步。

内容是纯清单版,去掉了所有讲解,只剩要做的事、每一步从哪儿进去,和三张对照表。比文章里多 6 项——4.4 的三种截图做法、订阅群组的几步,文章里是一段话,清单版拆成了能勾的项。

操作的时候用那份,某一步看不懂再回来翻这篇。

加我微信领取,备注「上架」,看到就发。

微信号:leyi_journey(长按上方二维码,或者复制微信号搜索添加)

加上之后如果正卡在某一步,也可以直接问。


关于这个号

我是 Min,目前专注 AI Coding 出海应用。

教了 10 年外国人中文,做过海外语言学习平台的产品经理。2026 年 1 月第一次用 AI 写代码,之前没有技术背景,一个月做出了一个 HSK 备考 App。现在已经上架到 App Store 和 Google Play,132 个国家有付费用户。

这个号写的是:一个非技术背景的人,怎么把一个想法做成能在全球收款的 App。

全流程都写,包括:

怎么做出来:用 AI 和无代码,Bubble、FlutterFlow、Claude Code、Expo

怎么上架:App Store 和 Google Play,审核被拒是哪一条、怎么改

怎么收款:RevenueCat 接入、订阅配置、内购调不通怎么排查

怎么出海:区域定价、税务表、隐私政策这些没人系统写的流程

还有自己 App 的真实收入数据,包括亏的那部分。

每周两篇,都是自己实操踩过的。

写 AI Coding 的博主大多是程序员或大厂技术背景,自己不是。所以踩的坑是零基础的人真的会踩的那些,讲法也是新手能听懂的。

关注一下,下次卡住的时候,这里可能有现成答案。


相关学习资料