#从想法到上架 · IOS APP 完整开发与上架 SOP(国区)
V1版本:2026-05-30
作者:老傅1024
相关视频:
#0. 这份文档解决什么问题
很多人有 App 想法,但卡在两个地方:
- 不知道下一步该做什么 → 缺少全流程视图
- 开发能跑了,但不知道怎么上架 → 中国大陆有 ICP / App 备案这道墙
本文档把从一个模糊想法 → App Store 国区可下载的全部阶段串成一条主线:
① 想法验证 → ② 需求分析 → ③ 原型设计 → ④ AI 开发 → ⑤ 模拟器测试
↓
⑥ 真机直连测试 + Xcode 上架前配置(App Icon 可先准备) ← 与 ⑦ 合规准备(备案)并行
↓
⑧ App Store Connect 配置 → ⑨ Archive 上传 → TestFlight 回归
↓
⑩ 提交审核 → ⑪ 上架与发布后运营
每个阶段都给出:入口条件 → 关键动作 → 产出物 → 检查点 → 常见困难。
#1. 全局蓝图
#1.1 时间线(按个人开发者)
| 阶段 | 名称 | 关键依赖 | 可并行项 |
|---|---|---|---|
| ① | 想法验证 | — | — |
| ② | 需求分析 | ① 完成 | — |
| ③ | 原型设计 | ② 完成 | 开始注册 Apple Developer |
| ④ | AI 开发 | ③ 完成 | 官网 + 备案准备 |
| ⑤ | 模拟器测试 | ④ 进入 Feature-Complete | — |
| ⑥ | 真机直连测试 + Xcode 上架前配置 | ⑤ 通过、Apple Developer 生效、物理设备可用 | App Icon 初稿、Distribution 证书可开始准备 |
| ⑦ | 合规准备(含 ICP / App 备案) | 官网域名就绪、Bundle ID 稳定、Distribution 证书可用 | 与 ④/⑤/⑥ 并行 |
| ⑧ | App Store Connect 配置 | ⑦ 备案号到手、Icon / 截图 / 隐私政策就绪 | 元数据、审核备注、TestFlight 测试信息 |
| ⑨ | Archive 上传 + TestFlight 回归 | ⑧ 完成、真机直连测试通过 | — |
| ⑩ | 提交审核 | ⑨ TestFlight 通过 | — |
| ⑪ | 上架与发布后运营 | ⑩ 通过 | — |
总耗时(个人开发者):约 5–8 周(核心阻塞项是 ICP / App 备案,1–3 周不可压缩)。
#1.2 核心阻塞项(必须前置)
| # | 阻塞项 | 平均耗时 | 越早越好的理由 |
|---|---|---|---|
| 🚧 1 | Apple Developer 账号 | 1–2 天(个人) / 1–4 周(公司,需邓白氏码) | 没有它无法 Archive 上传 |
| 🚧 2 | 域名 + 网站 ICP 备案 | 7–20 个工作日 | App 备案必须先有网站 ICP |
| 🚧 3 | App 备案(工信部) | 网站 ICP 通过后 7–20 个工作日 | App Store Connect 必填字段 |
强烈建议:进入阶段 ③(原型设计)时同步启动 Apple Developer 注册 + 域名购买。
不要等到开发完了才开始做合规——那会让你多等 1 个月。
#1.3 资金清单(个人开发者预算)
| 项目 | 费用 | 必需性 |
|---|---|---|
| Apple Developer Program | ¥688/年 | ✅ 必需(上架) |
| 域名(.cn / .com) | ¥35–80/年 | ✅ 必需(隐私政策托管) |
| 服务器/虚机/静态托管 | ¥0–100/月 | ✅ 必需(托管隐私政策) |
| ICP 备案 / App 备案 | ¥0(自助办理) | ✅ 必需(国区上架) |
| TestFlight 测试者 | ¥0 | — |
#2. 阶段 ① · 想法验证(Pre-Discovery)
#2.1 入口条件
- 你有一个模糊的 App 想法("我想做一个 XX")
- 你愿意接受可能不做这个想法的结果
#2.2 关键动作
#2.2.1 用一句话讲清楚
[谁] 在 [什么场景] 下 遇到 [什么问题],
当前他们用 [替代方案] 解决,但 [不足之处],
我的 App 通过 [核心方法] 让他们 [得到什么价值]。
#2.2.2 找 5 个目标用户聊
不要先写代码,先找人聊。问题清单:
- 你最近 30 天有没有发生过 [核心痛点]?
- 你现在怎么解决?多久解决一次?
- 如果有一个 App 帮你解决,你会不会用?
- 你愿意为这个功能付费吗?多少?(验证支付意愿)
#2.2.3 简单的竞品扫描
用 Claude Code 帮你扫一遍:
帮我搜索:「[你的领域] iOS App」在国内外有哪些产品? 给出 5–10 个竞品,列出:名称、定位、核心卖点、定价、用户评分。 重点关注中国大陆地区的可用情况。
#2.3 产出物
- 一段 < 100 字的产品定位描述
- 竞品扫描表(≥ 3 个)
#2.4 ✅ 检查点
- 5 个用户中有 ≥ 3 个认可问题确实存在
- 替代方案的缺口真实存在(不是你脑补的)
- 你能列出 ≥ 1 个差异化点(为什么用户会选你)
#2.5 ❌ 否决信号(这时候应该止损)
- 用户说"挺有意思的"但不愿意现在花钱
- 已有竞品免费且体验良好
- 你只是"觉得"有需求,没有任何外部证据
#3. 阶段 ② · 需求分析(Discovery)
#3.1 入口条件
- 阶段 ① 通过
- 已有产品定位的一句话描述
#3.2 关键动作
用 Claude Code / codex 把想法变成 PRD.md。
重点强调:
#3.2.1 提前考虑合规边界
在 PRD 写作时即明确以下分类,这些会决定个人开发者能否上架国区, 如果你希望上线以下限制内容,请使用企业开发者:
| 分类 | 国区限制 |
|---|---|
| 医疗 / 健康诊断 | 需要医疗器械证 + 互联网医院资质 |
| 金融 / 贷款 / 理财 | 需要金融牌照 + 持牌主体 |
| 游戏 | 需要版号(约 6–12 个月) |
| 教育(K12 + 学科类) | 需要教育牌照 |
| 直播 / UGC 内容平台 | 需要网络文化经营许可证 |
| 互联网信息服务 / 资讯 | 需要 ICP 经营许可 |
| 工具 / 效率 / 个人记录 | 只需 ICP + App 备案 ✅ 个人最容易 |
建议第一款 App 选"工具 / 效率 / 个人记录"类,合规门槛最低。
#3.2.2 PRD 必须写明的合规相关条目
### 非目标(用于备案与审核备注)
本 App 明确不包含:
- 账号 / 注册 / 登录
- 信息发布 / 评论 / 社交
- 在线交易 / 支付
- 广告 / 推广
- 在线咨询 / 客服
- 用户数据上传到服务器
- ...
这段文字将直接复用到:App Store 审核备注、App 备案"备注"字段、隐私政策中。一处定义、多处复用,正是 DRY 原则。
#3.3 产出物
-
docs/PRD.md - 合规边界清单
#3.4 ✅ 检查点
- PRD 已明确不做什么(≥ 5 条),且这些"不做"将成为审核备注的核心论据
- 已确认产品类目不属于"国区高门槛类目"(医疗 / 金融 / 游戏等)
- 能用一句话回答:"如果 Apple 审核员问 '这个 App 安全吗?为什么',我会说……"
#4. 阶段 ③ · 原型设计(Design)
#4.1 入口条件
- PRD 已完成
#4.2 关键动作
docs/DESIGN.md—— 技术设计docs/UX.md—— UI / UXdocs/prototype.html—— 高保真原型
#4.3 此阶段并行启动两件长周期事项 🚧
#4.3.1 注册 Apple Developer
打开 https://developer.apple.com
→ Account → Enroll
→ 选择 Individual(个人)或 Organization(公司)
→ 用 Apple ID 登录
→ 填写真实身份信息
→ 支付 $99(折合人民币 ¥688/年)
| 主体类型 | 通过时间 | 额外要求 |
|---|---|---|
| Individual(个人) | 1–2 天 | 无需邓白氏 |
| Organization(公司) | 1–4 周 | 需邓白氏 D-U-N-S 编码 + 营业执照 |
注册实战注意:
- 使用长期稳定的 Apple Account(国内仍常叫 Apple ID),后续证书、App Store Connect、合同、续费都会绑定这个账户
- 开启双重认证,确保姓名、地址、手机号、受信任设备真实可用
- 个人开发者使用真实法定姓名;不要在姓名字段填写昵称、品牌名或公司名
- 如果通过 Apple Developer App 注册,尽量在同一台设备上把身份验证、协议确认、付款一次完成
- 不要反复更换 Apple Account 或设备尝试注册;遇到身份绑定、风控、注册流程卡住,优先联系 Apple Developer Support 的"会员资格和账户 / 计划注册"电话支持
#4.3.2 购买域名 + 准备网站
国区上架要求:隐私政策 + 支持页面公网可访问。
# 推荐域名注册商(国内备案友好)
# - 阿里云万网
# - 腾讯云
# - 华为云
# 选择域名后缀
# .cn / .com.cn → 备案稍快
# .com → 通用
# .app / .io → 国内备案不支持,不要选
最简方案(PawSync 实战):
| 项 | 选型 |
|---|---|
| 域名 | *.cn(约 ¥35/年) |
| 托管 | 静态托管(GitHub Pages → CDN 加速,或国内对象存储 + CDN) |
| 框架 | Astro / Next.js 静态导出 / 纯 HTML |
| 页面 | /<app-slug> / /<app-slug>/privacy / /<app-slug>/support |
#4.4 产出物
-
docs/DESIGN.md、docs/UX.md、docs/prototype.html - Apple Developer 账号已提交申请
- 域名已购买,DNS 已配置
#4.5 ✅ 检查点
- 原型在浏览器双击可演示
- 设计令牌(颜色、字号)写在 UX.md 里
- Apple Developer 申请号已记录
- 域名
nslookup能解析
#① 想法验证 → ② 需求分析 → ③ 原型设计 -- 实战例子
前提是你已经完成域名注册,页面托管服务。
#找需求、找机会、找想法
我用 Hermes Agent 构建了一个 “产品经理” 的 AI员工。 帮我完成 想法->需求分析 这一步。

最后产出 初步的 PRD 内容, 具体可以看视频:


#建立完整 PRD 文档、设计文档
使用 claude 根据上一步产出的 初步设计文档,完成完整 PRD 文档、设计文档

这里我先提前使用 Xcode 创建了空白项目,具体可以查看 “阶段 ④ · AI 开发 - 实战例子 --> 使用 XCode 创建项目”

#设计原型
同样,使用claude 根据产出的 PRD 文档、设计文档 , 使用 HTML 页面,产出原型效果。


#5. 阶段 ④ · AI 开发
#5.1 入口条件
- 设计文档完成、原型已完成
- Apple Developer 账号已批准
- Xcode 已配置正确(部署目标、Bundle ID)
#5.2 关键动作
首发版本范围控制:
首发 App 尽量只做 MVP 必需功能,把会放大开发、隐私、审核和备案成本的能力后置:
| 功能 | 首发建议 | 原因 |
|---|---|---|
| 账号 / 登录 | 暂不做 | 触发账号删除、测试账号、隐私声明 |
| 云同步 / 后端 API | 暂不做 | 触发联网、数据处理、服务端合规 |
| 读取系统通讯录 | 暂不做 | 触发 Contacts 隐私声明和权限审核 |
| 第三方分析 / 崩溃 SDK | 暂不接 | 触发 App Privacy、Privacy Manifest、可能的追踪评估 |
| 广告 | 暂不接 | 触发广告 SDK、追踪、年龄分级与合规复杂度 |
| 内购 / 订阅 | 暂不做 | 触发 IAP、税务、审核付费功能路径 |
| UGC / 评论 / 社区 | 暂不做 | 触发举报、屏蔽、内容审核、服务条款 |
| WebView 在线内容 | 谨慎 | 可能影响年龄分级、隐私和内容审核 |
| 医疗 / 健康 / 心理建议 | 避免 | 可能触发资质、免责声明、特殊审核 |
本地通知特别注意:
- 本地通知不需要
Push Notificationscapability;远程推送才需要 - 通知点击 App 后,如果回调会更新 UI、导航状态或 SwiftUI 状态,必须切回主线程
- 真机回归必须覆盖:"App 在后台 → 点击通知打开 → 页面和状态正常"
#5.3 本阶段并行启动 🚧 网站 ICP 备案
这是中国大陆上架第一个长周期阻塞项,必须与开发并行:
域名(已购买)
↓
登录域名服务商管理后台 → 备案系统
↓
填写主体信息(身份证 + 手持照 + 人脸识别)
↓
等待初审(1–3 工作日)
↓
提交至管局(省通管局)
↓
管局审核(7–20 工作日)
↓
✅ 取得网站 ICP 备案号(如 粤ICP备2026025156号-1)
关键提示:
- 备案期间,域名不能解析到任何"已经在线的网站"(管局会扫描)
- 准备好身份证、手持照、人脸识别
- 个人备案不能命名"XX 商城""XX 服务""XX 平台",网站整体应保持个人、非经营性属性
- 个人主体更适合个人博客、技术笔记、学习记录、作品展示、教程分享;不适合直接做成企业官网、商业产品官网、电商交易站、平台型服务站
- 备案通过后才能解析并上线隐私政策 / 支持页
- 备案号通过后,网站底部应按接入商要求展示备案号并链接到工信部备案系统
个人开发者推荐路径:
- 先搭建一个真实、长期可访问的个人网站。
- 用该域名和大陆服务器完成网站 ICP 备案。
- 备案通过后,在同一域名下增加 App 相关页面:App 简介、隐私政策、支持页、可选用户协议。
- 页面措辞保持"个人开发者 / 个人作品 / 个人生活记录工具"口径,不要把个人备案网站改造成明显商业化运营站点。
- 如果 App 后续变成公司、团队、收费会员、交易平台或经营性服务,应考虑变更备案主体或补充经营性许可。
|------|------|
| 第 1 周 | 工程脚手架 + 1–2 个 P0 功能 |
| 第 1 周 | ICP 备案提交(与开发并行) |
| 第 2 周 | 完成剩余 P0 功能 + 单元测试 |
| 第 2 周 | 准备隐私政策、支持页文案 |
| 第 3 周 | 模拟器多设备回归(→ 阶段 ⑤) |
| 第 3 周 | 网站 ICP 备案通过 → 上线静态页 → 启动 App 备案 |
#5.4 ✅ 检查点
- 所有 MVP 功能在模拟器上跑通
swiftlint --strict无警告- 网站 ICP 备案已提交或已通过
#阶段 ④ · AI 开发 - 实战例子
#使用 XCode 创建项目



| 配置项 | 选项 / 示例 | 含义 | 差异 / 注意点 |
|---|---|---|---|
| Product Name | PawSync |
App / Target 的产品名称 | 会影响项目名、Target 名,以及默认生成的 Bundle Identifier 后缀 |
| Team | yaolin Fu |
用于代码签名的 Apple Developer 账号或团队 | 真机调试、TestFlight、App Store 上架、CloudKit 等能力都依赖 Team |
| Organization Identifier | pawsync.cn.scitiger |
组织标识,通常使用反向域名格式 | 会和 Product Name 拼出 Bundle Identifier;这里建议改成 cn.scitiger 或 cn.scitiger.pawsync |
| Bundle Identifier | pawsync.cn.scitiger.PawSync |
App 的全局唯一标识 | App Store、证书、推送、iCloud、备案等都会用它识别 App;通常由 Organization Identifier + Product Name 自动生成 |
| Interface | SwiftUI / Storyboard |
决定项目默认使用哪套界面开发方式 | SwiftUI 更适合新项目,用 Swift 代码声明 UI;Storyboard 更适合 UIKit 或老项目,用可视化文件设计页面 |
| Language | Swift |
使用 Swift 作为主要开发语言 | 新 iOS 项目的主流选择;如果选择 SwiftUI,通常就是 Swift |
| Testing System | None / Swift Testing with XCTest UI Tests / XCTest for Unit and UI Tests |
决定是否创建测试 Target,以及使用哪套测试框架 | None 不创建测试模板;Swift Testing with XCTest UI Tests 适合新 Swift 项目;XCTest for Unit and UI Tests 是传统方案,兼容性更强 |
| Storage | None / SwiftData / Core Data |
决定是否为项目预配置本地数据持久化方案 | None 不配置数据库;SwiftData 更适合新的 SwiftUI 项目;Core Data 更成熟,适合复杂数据模型或老项目 |
| Host in CloudKit | 勾选 / 不勾选 | 决定是否为持久化数据启用 iCloud / CloudKit 同步 | 不勾选更简单,适合本地 MVP;勾选适合多设备同步,但需要 Apple Developer、iCloud Capability、CloudKit 配置,并增加调试成本 |
额外提醒:截图中的
Organization Identifier写错了。这里通常应使用反向域名格式。如果域名是scitiger.cn,建议填写cn.scitiger,生成的Bundle Identifier为cn.scitiger.PawSync;如果pawsync是产品线或子品牌,也可以使用cn.scitiger.pawsync。不建议写成pawsync.cn.scitiger。
创建项目后,把 IOS 版本改为 17.0 , 适配大部分 iphone 手机。

#使用 Codex 根据设计文档和原型,开始进行开发
由于我们第一个版本做的只是 MVP 版本,且文档清晰,有原型效果,基本上,第一轮开发后,整个 APP 就已经基本完成。
剩下再进行几轮细节调整, 整个 APP 就开发完成了。

第一轮开发完成后,启动模拟器进行测试,并开始调整细节上的问题。

#6. 阶段 ⑤ · 模拟器测试(Simulator Test)
#6.1 入口条件
- 所有 P0 功能 feature-complete
#6.2 关键动作
基础流程回归:
- 首次启动空状态
- 新增 / 编辑 / 删除核心数据
- 首页状态分组或关键看板是否正确
- 标记完成、撤销、历史记录等主路径状态是否更新
- 设置页、隐私政策、支持入口是否正常
- 不同屏幕尺寸下无文字遮挡、按钮溢出或底部内容不可点
- 如支持深色模式,深色模式必须单独走完整主路径
#6.3 ✅ 检查点
- 检查列表全绿
- 启动 ≤ 2 秒(P95)
- 单元测试全绿
#阶段 ⑤ -- 实战例子
选择 iphone 17 pro ,点击启动,打开模拟器,完成功能而测试


#7. 阶段 ⑥ · 真机直连测试与 Xcode 上架前配置(Device Test)
#7.1 入口条件
- 模拟器测试通过
- Apple Developer 账号已批准
- 一台可用的物理 iPhone(iOS 17+)
- Xcode 能识别该 iPhone,且 iPhone 已开启开发者模式
#7.2 关键动作
#7.2.1 准备 App Icon 初稿
App Icon 不是真机能否运行的前置条件,但建议在真机测试前准备初稿,便于检查主屏幕显示、通知图标感知和整体品牌一致性。
- 准备 1024×1024 PNG,无透明通道
- 不要自己加圆角,iOS / App Store 会自动处理
- 放入 Xcode 的
AppIcon资源集 - 在真机主屏幕确认图标识别度,不满意可在阶段 ⑦ 继续打磨
#7.2.2 真机直连调试设置(Development signing)
- 先确认开发者账号下已绑定一台物理设备;真机需要在系统设置中开启开发者模式。
按照以下流程:链接设备 -> 设置信任 -> 选择设备 -> 完成注册。
Xcode → Signing & Capabilities
→ Team 选择你的 Apple Developer 团队
→ Bundle Identifier 改为全球唯一
→ Automatically manage signing 保持开启
↓
iPhone 连接 Mac
→ 信任此电脑
→ 设置 → 隐私与安全性 → 开发者模式 → 开启
↓
Xcode 选择这台 iPhone 作为运行目标
→ Product → Run
注意如果不通过上述步骤绑定一台真机,可能会在 Signing & Capabilities遇到以下截图问题:

这是因为 Apple 开发者后台要求有真机才能生成配置文件所致。
修复这个问题的核心思路就是按照上述步骤为你的开发者账户绑定一台物理设备。

注意,遇到以下问题,即代表 Iphone 手机没有开启开发者模式。


真机直连调试使用的是 Development signing / 开发调试配置,不依赖 Apple Distribution 证书。
Apple Distribution 是后续分发、上传 App Store Connect 和 App 备案提取 iOS 特征信息时使用的证书。
- Xcode 配置:
点击项目,在 General 中进行配置:

| 区域 | 首发建议 | 说明 |
|---|---|---|
| Supported Destinations | 只保留 iPhone | 未适配 iPad / Mac / Vision Pro 前不要扩大审核范围 |
| Device Orientation | 只保留 Portrait | 工具类 App 首发降低横屏测试成本 |
| Minimum Deployments | iOS 16 或 iOS 17 | 不要为了新 API 把门槛设得过高 |
| Display Name | 明确填写 | 与 App Store 名称口径一致 |
| Bundle Identifier | 不再随意修改 | 必须与 App Store Connect、App 备案一致 |
| Version | 首发 1.0 或 1.0.0 |
用户可见版本号 |
| Build | 从 1 开始,重传递增 |
同一 Version + Build 不能重复上传 |
| App Category | Lifestyle / Productivity / Utilities 等 | 避免误选 Medical / Health / Finance 等高风险类目 |
| App Icon | 选择 AppIcon |
App Store 使用包内图标,不是单独上传 |
| Capabilities | 只保留实际需要的 | 无 iCloud、Widget、远程推送、登录、内购时不要添加 |
在 Build Settings 搜索 TARGETED_DEVICE_FAMILY,只支持 iPhone 时应为 1;1,2 表示 iPhone + iPad。
#7.2.3 准备 Apple Distribution 证书(分发与备案前置)
这一步不是为了普通真机直连调试,而是为了后续 Archive 上传、TestFlight / App Store 分发,以及阶段 ⑦ App 备案提取 iOS 公钥与 SHA-1。
在 mac 电脑上, 打开 “钥匙串访问”, 按照以下步骤,生成 CSR 文件。
然后登陆 Apple Developer , 上传刚才的 CSR, 下载 .cer 证书,双击安装到钥匙串。
钥匙串访问 → 证书助理 → 从证书颁发机构请求证书
- 邮箱:你的 Apple ID
- 常用名称:<Name> Distribution
- CA 邮箱:留空
- 存储到磁盘
↓
Apple Developer → Certificates → +
→ Apple Distribution
→ 上传刚才的 CSR
→ 下载 .cer 证书
→ 双击安装到钥匙串
保留这个 .cer 文件:阶段 ⑦ App 备案需要用它提取公钥与 SHA-1。
CSR 这样生成:




获取 Apple Distribution 发布证书,正确入口是这个:
https://developer.apple.com/account
或者直接打开证书列表:
https://developer.apple.com/account/resources/certificates/list
操作路径:
Certificates 页面
→ 点 Certificates 标题旁边的蓝色 +
→ Software
→ Apple Distribution
→ Continue
→ 上传 CSR
→ Continue
→ Download





可用以下命令从 Apple Distribution .cer 中提取 App 备案所需字段:
CERT=/path/to/distribution.cer
openssl x509 -inform DER -in "$CERT" -pubkey -noout \
| openssl pkey -pubin -outform DER \
| xxd -p -c 100000
openssl x509 -inform DER -in "$CERT" -fingerprint -sha1 -noout \
| cut -d= -f2 \
| tr -d ':' \
| tr '[:upper:]' '[:lower:]'
提取后顺手校验:证书类型应为 Apple Distribution,证书仍在有效期内。
提取出来的信息,在备案时有用。
#7.3. 启动真机测试
连接真机,选择真机,点击运行,和模拟测试类似,区别只在于选择真机:

#阶段 ⑥ · 真机直连测试 -- 实战
#1. 准备 APP ICON , 可以自己设计 和 使用 AI 工具生成,这里我使用 codex 调用 gpt-image-2 为我生成并配置好。

如果需要手动配置,在准备好 ICON 图片后,点击项目 --> Assets --> APPIcon 进行配置。

#2. 真机调试直连
我这里已经完成的 真机绑定 和 开启了手机的开发者模式,如果没有绑定真机或者没有开启开发者模式,按照上述 SOP 步骤进行设置。
这里我们做好 Xcode 的配置即可。
在 Xcode 操作:
Target PawSync
→ General
→ Supported Destinations
→ 选中 iPad 行,点 -
→ 选中 Mac (Designed for iPad) 行,点 -
→ 选中 Apple Vision (Designed for iPad) 行,点 -
→ 只保留 iPhone
然后在 Deployment Info:
iPhone Orientation:
[x] Portrait
[ ] Upside Down
[ ] Landscape Left
[ ] Landscape Right
具体配置说明,在 上述 SOP 上有描述。

#3. 准备 Apple Distribution 证书
按照 上述 SOP 上有描述 操作。
这里,我让 codex 帮解析出 iOS 公钥与 SHA-1。

#8. 阶段 ⑦ · 合规准备 - ICP 备案/APP 备案(中国大陆专属)🚧 最关键阶段
在上架中国大陆区 App Store 之前,如果 App 的隐私政策页、官网、支持页或后端服务部署在中国大陆服务器上,需要先完成网站 ICP 备案,再推进 APP 备案和上架流程。
原因是,中国大陆境内提供互联网信息服务的网站或域名,需要先完成 ICP 备案。AppStore 上架时通常需要填写隐私政策 URL、支持 URL 等信息;如果这些页面使用的是中国大陆服务器或 CDN,那么对应域名本身必须已经完成网站备案,否则页面服务在合规上不完整,也可能影响后续审核和长期运营。
因此推荐流程是:
- 先准备官网、隐私政策页、用户支持页等基础网页。
- 将这些页面绑定到正式域名。
- 如果域名解析到中国大陆服务器或大陆 CDN,先通过云服务商提交网站 ICP 备案。
- 网站备案通过后,再进行 APP 备案。
- APP 备案完成后,再在 App Store Connect 中填写备案号、隐私政策 URL、支持 URL等信息并提交审核。
需要注意的是,APP 备案和网站备案是两类备案事项,理论上并不是所有 App 都必须先做网站备案。但是苹果很有可能一刀切,无论什么 APP 都要求提交 APP 备案号。
这里之所以先做网站备案,是因为 App 依赖的隐私政策页、官网或后端服务部署在中国大陆,相关域名需要先满足网站 ICP 备案要求。
#8.1 入口条件
- 网站 ICP 备案通过(阶段 ④/⑤ 并行启动的)
- 域名可解析,隐私政策 / 支持页公网可访问
- Bundle ID 已稳定,不再随意修改
- Apple Distribution 证书已准备,或可以立即创建
#8.2 关键动作
#8.2.1 上线官网三件套 / ICP 备案
| 页面 | URL | 要求 |
|---|---|---|
| App 详情页 | http://<domain>/<app-slug> |
名称 + 截图 + 功能边界 |
| 隐私政策 | http://<domain>/<app-slug>/privacy |
数据处理 + 权限 + 删除方式 |
| 支持页 | http://<domain>/<app-slug>/support |
快速开始 + FAQ + 联系邮箱 |
用 Claude Code 生成隐私政策(提示词):
基于 docs/PRD.md,生成一份符合《个人信息保护法》和 Apple App Store 要求的App 详情页、隐私政策页、 支持页。 当前 App V1.0 的事实: - 无账号登录 - 无服务端 - 数据全部本地保存 - 无第三方 SDK / 广告 / 分析 - 仅请求通知 / 相册 / 相机权限 输出为 HTML 或 Markdown,包含: 1. 引言(适用范围、生效日期) 2. 我们收集的信息(明确写"不收集") 3. 权限说明(逐项解释) 4. 数据存储与传输(本地、不上传) 5. 用户权利(查询、删除、撤回) 6. 第三方服务(无) 7. 联系方式 8. 政策更新机制 语言:简体中文为主,英文为辅。
生成后,将其部署到公网可访问的服务器下。
阿里云备案 ICP :


#8.2.2 提交 App 备案(工信部)
| 步骤 | 说明 |
|---|---|
| 4.1 | 准备 App 基础信息(名称 / 类目 / 后台域名 / 备注) |
| 4.2 | 准备 iOS 平台特征(Bundle ID + 公钥 + SHA-1) |
| 4.3 | 在域名服务商备案系统中"新增 App 备案" |
| 4.4 | 等待初审(1–3 工作日) |
| 4.5 | 等待管局审核(7–20 工作日) |
| 4.6 | ✅ 取得 App 备案号 |
关键提示:
- App 备案的"后台服务域名"填你的官网域名(即使 App 不联网,因为它有隐私政策页面)
- iOS 平台特征中的公钥和 SHA-1 来自 Apple Distribution 证书,不是 Development 证书
- App 名称、Bundle ID 必须与 Xcode 工程和后续 App Store Connect 配置一致(修改成本极高)
- 如果 App 确实是纯本地、不联网、不提供互联网信息服务,理论上可能不适用 App 备案;但 App Store Connect 若显示
ICP Filing Number Missing,中国大陆区会被阻断,需要补备案或联系 Apple Developer Support 确认是否可豁免
个人主体备案备注写法:
个人备案备注要像"个人生活记录用途",不要像商业产品介绍。避免堆砌"面向用户""平台""服务""在线问诊""药品销售""企业/团队"等容易被系统识别成经营性或行业服务的词。
推荐模板:
本 App 为本人开发的个人生活记录类应用,主要用于记录[具体事项]、提醒事项和完成情况。应用不提供注册登录、信息发布、在线咨询、交易、广告、收费、[行业敏感能力]等功能,相关数据主要保存在本机。
更保守模板:
本 App 为个人生活记录类应用,用于记录本人[具体事项]提醒和完成情况。应用无注册登录、无信息发布、无交易收费、无广告、无在线咨询、无[行业敏感能力],数据主要保存在本机。
如果备案主体是个人,官网、隐私政策、支持页也要保持个人开发者口径;不要出现容易被理解为单位或企业主体的名称。
阿里云 APP 备案:


#8.2.3 准备 App 截图
- 截图:iPhone 6.5" 与 6.9" 各一套
- 不要自己给图标加圆角,iOS / App Store 会自动处理
- 截图前三张最重要,优先展示用户最能理解价值的主流程
- 截图必须与当前 build 功能一致,不展示未实现或未来规划功能
- 如果 6.9" 截图尺寸被拒,可按 App Store Connect 当前提示转出 6.5" 合规尺寸
截图可以用模拟器截图 + 加边框 + 加文案做。Claude Code 可帮你生成"营销文案 + 截图组合"提示词:
帮我设计 5 张 App Store 截图:每张包含模拟器截图 + 一句卖点文案 + 配色,给我 HTML 模板,浏览器渲染后我截图导出。
#8.3 产出物
- 官网三件套上线,
curl -I返回 200 - 网站 ICP 备案号(如 粤ICP备XXXXXXXX号-1)
- App 备案号(如 闽ICP备XXXXXXXX号-3A)
- 1024×1024 Icon
- 6.5" + 6.9" 截图各 5–10 张
- 已提取 Apple Distribution 证书的公钥与 SHA-1
#8.4 ✅ 检查点
- 官网三个页面在手机浏览器打开都正常
- App 备案号已下发并记录
- 截图正常
#8.5 常见困难
| 困难 | 解法 |
|---|---|
| 网站 ICP 备案被驳回 | 看驳回原因,常见:图片不清 / 名称暗示企业 / 用途选错 |
| App 备案"使用的第三方 SDK"该填什么 | 无则填"无";有则如实填写 |
| 公钥提取命令报错 | 确认 .cer 文件来自 Apple Distribution(不是 Development) |
| 备案等待期能否提交审核 | ❌ 不行。App Store Connect 会以 ICP Filing Number Missing 阻断 |
#阶段 ⑦ · 合规准备 - ICP 备案/APP 备案 -- 实战例子
#1. 使用 Codex 生成 APP 详情页、隐私政策页、支持页

部署好,使得网页可以正常访问。


这里因为我的ICP 备案已经完成,因此不需要再进行ICP 备案,如果没有完成 ICP 备案的,今早开始进行 ICP 备案。
#2. 准备 App 截图, 这里我使用模拟器,进行简单截图,然后,要求 codex 帮我将截图调整成可用尺寸。

#3. APP 备案
先准备好 Apple Distribution 证书, 按照 “7.2.3 准备 Apple Distribution 证书” 进行操作。
完成后,获得 公钥与 SHA-1。


#9. 阶段 ⑧ · App Store Connect 配置
#9.1 入口条件
- App 备案号已下发(可以先填好App Store Connect其他内容, 但不提交审核)
- Apple Developer Program 已生效
- Bundle ID 已在 Apple Developer 中稳定存在
- 1024×1024 Icon、App Store 截图、隐私政策 / 支持页已准备好
App Store Connect 登录网站: https://appstoreconnect.apple.com/

#9.2 关键动作
#9.2.1 创建 App 记录
App Store Connect → Apps → +
Platforms: iOS
Name: <你的 App 中文名>
Primary Language: Chinese (Simplified)
Bundle ID: 选你的(必须先在 Apple Developer 注册)
SKU: <app-slug>-ios-1

字段注意:
- SKU 是 App Store Connect 内部识别码,用户看不到,创建后不能改;建议稳定、可读、唯一
- Bundle ID 必须与 Xcode 工程、Apple Developer 证书配置、App 备案完全一致
- 即使 Xcode 配置为 iPhone only,Platforms 仍选择 iOS,不是按 iPhone / iPad 分开创建
#9.2.2 版本元数据页(iOS App Version 1.0)
入口:
App Store Connect → Apps → 选择 App → Distribution → iOS App Version 1.0

这个页面控制本次版本在 App Store 产品页、安装页、审核流程中的展示内容。首发建议先按最小可信口径填写:只描述已经实现的功能,不写医疗诊断、治疗建议、交易、广告、UGC、在线咨询等高风险能力。
| 配置项 | 首发建议 | 说明 |
|---|---|---|
| 语言 / Localization | Chinese (Simplified) |
当前截图是简体中文本地化。每个本地化都要有对应的描述、关键词、截图和 URL;首发只做中文时不要额外创建未维护的语言。 |
| Previews and Screenshots | 上传 iPhone 必填尺寸截图,优先保证 6.5" 槽位完整 | 截图会出现在产品页和安装页。截图前三张最重要,应展示真实主流程;不要展示未实现功能、未来规划、第三方品牌或夸大文案。 |
| View All Sizes in Media Manager | 上传后点开核对各尺寸 | 用来检查不同设备尺寸和本地化下的截图槽位。首发至少确认必填尺寸没有空缺、顺序正确、图片没有拉伸或裁切。 |
| App Previews | 可留空 | App Preview 是视频预览,不是必填。首发没有高质量视频时不要勉强上传,避免视频内容与实际 build 不一致。 |
| Screenshots | 上传 5-10 张真实截图 | 截图数量上限通常足够覆盖核心流程。截图必须来自当前版本或与当前版本 UI 完全一致;6.5" 被要求时必须补齐。 |
| Choose File | 用于上传截图 / 预览素材 | 每次上传后要等页面处理完成并保存。不要混用旧 UI 截图和新 build 截图。 |
| Delete All | 谨慎使用 | 会清空当前尺寸下已上传素材。只有准备整套替换时才点,避免误删已经排好序的截图。 |
| iPhone / iPad / Apple Watch 标签 | 只配置实际支持的平台 | 如果 Xcode 只支持 iPhone,就优先处理 iPhone 截图;未适配 iPad / Apple Watch 时不要为了“看起来完整”上传不真实素材。 |
| Promotional Text | 可留空 | 促销文本用于短期运营文案。首发没有明确运营活动时留空,避免重复描述或写出后续无法兑现的承诺。 |
| Description | 写清 App 用途、核心功能、数据边界 | 描述应覆盖:解决什么问题、核心功能、是否需要登录、数据是否本地保存或上传、不提供哪些高风险能力。避免“诊断”“治疗”“处方”“推荐用药”等敏感表达。 |
| Keywords | 100 字符内,中文逗号或英文逗号分隔 | 关键词用于 App Store 搜索。只放真实相关词,不堆竞品名、商标名、无关热门词;中文关键词可以用逗号分隔。 |
| Support URL | 填阶段 ⑦ 准备的支持页 | 必填。URL 必须公网可访问,手机浏览器打开正常,最好与隐私政策、官网使用同一已备案域名。 |
| Marketing URL | 可填 App 详情页 / 官网 | 可选。建议填阶段 ⑦ 的 App 详情页,展示功能介绍、截图、支持入口;没有独立营销页时也可以留空。 |
| Version | 首发填 1.0 |
用户可见版本号。应与 Xcode Version 口径一致;如果本次版本已进入审核,改版本通常需要先移除当前提交。 |
| Copyright | 填年份 + 权利人名称 | 例如 2026 <Name>。个人开发者用个人或备案主体一致的名称,避免写不存在的公司主体。 |
| Routing App Coverage File | 普通工具类 App 留空 | 只有地图导航 / 路线覆盖类 App 才需要上传覆盖文件;本地记录、提醒、效率工具不需要。 |
| App Clip | 无 App Clip 目标则不配置 | 只有工程里做了 App Clip target 并准备一起分发时才配置。首发 MVP 没做就保持折叠 / 空。 |
| iMessage App | 无 iMessage 扩展则不配置 | 只有包含 iMessage App 或贴纸扩展时才配置。普通 iOS App 不需要。 |
| Build | 阶段 ⑧ 可先留空,阶段 ⑨ 上传并处理完成后再选 | Build 来自 Xcode Archive 上传后的构建。当前阶段可以先填元数据;没有已处理完成的 build 时不能真正完成提交审核。 |
| Build 表格里的 Version / Has App Clip | 选择 build 后核对 | Version 应与本次 1.0 一致;没有 App Clip 时 Has App Clip 应为 No。发现不一致时不要提交,先回 Xcode 修正并重新上传 build。 |
| Included Assets / App Icon | 确认包内 App Icon 正确 | App Store 使用 build 中的 App Icon,不是在这个页面单独上传。Icon 应在 Xcode AppIcon 中配置好。 |
| Game Center | 未接 Game Center 则不要启用 | 只有游戏成就、排行榜、多人功能等真实使用 Game Center 时才配置。普通工具类 App 不要勾选。 |
| Sign-In Information | 无登录则不勾 Sign-in required |
如果 App 不需要账号,明确保持未勾选;如果需要登录,必须提供可用测试账号、密码和必要说明。 |
| Contact Information | 填可联系到的审核联系人 | 用真实姓名、电话、邮箱。审核期间 Apple 可能联系确认问题,邮箱和电话要能及时响应。 |
| Notes | 写英文审核备注 | 帮审核员快速理解功能边界、测试路径、是否需要账号、是否涉及许可。中国大陆涉及新闻、宗教、图书、杂志等内容时,还要在这里说明相关许可。 |
| Attachment | 通常留空 | 可选上传补充材料,如演示视频、许可证明、特殊测试说明截图。没有必要材料时不要上传无关附件。 |
| App Store Version Release | 首发建议 Manually release this version |
手动发布便于审核通过后再做最终检查。也可选择审核通过后自动发布,或设置“不早于某个时间”自动发布。 |
| Automatically release this version | 谨慎选择 | 审核通过后会自动上线。适合已经完成全部运营、备案、客服和监控准备的版本。 |
| Automatically release this version after App Review, no earlier than | 需要定时上线时才选 | 可以设置最早发布时间。截图里的时间按本地时区显示;如果不做定时发布,不要额外设置。 |
描述建议模板:
PawSync is a pet care reminder and record keeping app. Users can create local pet profiles, add medication reminders, receive local notifications, and mark tasks as completed.
The app does not require an account or sign-in. Version 1.0 stores pet profiles, reminder schedules, and completion records locally on device and does not upload this data to developer servers.
It does not provide medical diagnosis, treatment advice, prescription decisions, online consultation, transactions, advertising, in-app purchases, or user-generated content.
审核备注建议模板:
This app does not require an account or sign-in. Reviewers can complete the first-run setup with any display name and start using the app directly.
The app is a [category] app for [core use case]. Version 1.0 stores [data types] locally on device and does not upload this data to developer servers.
It does not provide [login / user-generated content / online consultation / transactions / advertising / in-app purchases / regulated advice].
#9.2.3 App Information 页
入口:
App Store Connect → Apps → 选择 App → Distribution → App Information

这个页面控制 App 的全平台基础信息。很多字段创建后不可随意修改,且会影响 App 备案、审核分类、地区法规和后续上架范围。
| 配置项 | 首发建议 | 说明 |
|---|---|---|
| 语言 / Localization | Chinese (Simplified) |
当前本地化语言。Name、Subtitle 等本地化字段跟语言绑定;首发只维护一种语言即可。 |
| Name | 填 App 正式名称 | App Store 展示名称,通常 30 字符内。必须与 Xcode Display Name、App 备案名称保持同一口径;不要临时改名。 |
| Subtitle | 可留空,或填一句非常克制的副标题 | 副标题会显示在产品页。首发没有稳定文案时可留空;不要写医疗、疗效、收益承诺或竞品词。 |
| Bundle ID | 只读,确认与 Xcode 完全一致 | 创建 App 记录时选择,后续不能随意换。必须与 Xcode、Apple Developer、App 备案中的 Bundle ID 一致。 |
| SKU | 创建后不改 | App Store Connect 内部识别码,用户不可见。建议使用稳定格式,如 <app-slug>-ios-1。 |
| Apple ID | 系统生成,无需填写 | App Store Connect 为 App 生成的数字 ID,后续用于 App Store 链接、API、统计等场景。 |
| Content Rights | 无第三方内容选 No |
如果 App 不包含、展示或访问第三方授权内容,选择 No。若使用第三方文章、音乐、视频、图库等内容,必须如实声明权利。 |
| License Agreement | 使用 Apple's Standard License Agreement |
普通个人工具类 App 使用 Apple 标准许可协议即可。只有有律师审过的自定义条款时才改。 |
| Primary Language | Chinese (Simplified) |
App 的主语言。应与首发主要市场和元数据语言一致。 |
| Category | 选择真实低风险类目,如 Lifestyle / Productivity / Utilities | 类目影响审核预期和用户发现。不要误选 Medical、Health and Fitness、Finance 等高风险类目,除非产品确实属于这些领域并已准备合规材料。 |
| Secondary Category | 可留空 | 只有第二类目非常准确时才填。为了曝光乱填会增加审核解释成本。 |
| App Age Ratings | 按问卷如实填写 | 本地记录 / 提醒工具通常可以是 4+,但必须以问卷答案为准。不要为了低龄分级隐瞒用户生成内容、医疗信息、网页内容等能力。 |
| View Details | 提交前检查各地区分级 | App Store 可能对不同国家或地区显示不同分级。提交前确认没有异常高分级或与功能不符的地区例外。 |
| Age Suitability URL | 普通工具类 App 留空 | 只有需要提供年龄适宜性说明页面时才填。截图中为空是正常状态。 |
| Operating Systems Earlier than Version 26 | 检查系统自动给出的旧系统分级说明 | 这是 Apple 针对较早系统展示的分级摘要。通常不用单独改,但提交前要确认摘要与 App Age Ratings 一致。 |
| App Encryption Documentation | 无自定义加密则通常不上传文档 | 如果 App 不使用专有加密、非标准加密,且没有额外实现加密算法,通常不需要上传加密文档。仍要在 Xcode / 导出合规中如实声明加密使用情况。 |
| Encryption Documentation Upload | 只有被要求时上传 | 如果使用自研加密、非标准加密,或 Apple 要求出口合规材料,才上传对应文档。不要上传无关文件。 |
| Digital Services Act | 按账号和销售地区要求完成 | 如果 App 在受 DSA 影响地区分发,Apple 可能要求提供和验证交易者 / 非交易者信息。未完成可能影响部分地区销售或付款。 |
| China Mainland ICP Filing Number | 中国大陆可用前必须 Set Up 并验证 | 填App 备案号,不是网站 ICP 备案号。App 名称、Bundle ID、备案主体要与工信部备案信息一致;验证通过后再提交中国大陆区审核。 |
| Vietnam Game License | 非游戏 App 不填 | 只有游戏并计划在越南上架时才需要。普通工具类 App 不需要添加。 |
| Regulated Medical Devices | 普通工具类 App 不声明为医疗器械 | 如果 App 在 Medical / Health and Fitness 类目,或年龄分级问卷中频繁涉及医疗 / 治疗信息,Apple 可能要求声明是否为受监管医疗器械。宠物提醒、生活记录类 App 不要包装成医疗器械。 |
| App Store Server Notifications | 无内购 / 订阅则不配置 | 这个配置用于接收内购、订阅等服务器通知。没有 IAP、订阅、服务端收据处理时保持未设置。 |
| Production Server URL | 无内购服务端则留空 | 只有生产环境需要接收 App Store Server Notifications 时才填。URL 必须稳定、可公网访问、能处理 Apple 通知。 |
| Sandbox Server URL | 无内购服务端则留空 | 用于测试环境通知。没有内购链路时不需要。 |
| App-Specific Shared Secret | 无自动续期订阅则不用管理 | 主要用于自动续期订阅收据验证。没有订阅产品时无需生成或使用。 |
| View on App Store | 上架后用于查看商店页 | 未发布前可能不可用或只能看到占位状态。 |
| Edit User Access | 按团队职责分配权限 | 只给实际需要操作 ASC 的人开权限。个人开发者通常保持最小权限即可。 |
| Remove App | 不要误点 | 这是移除 App 的高风险操作。只有确认废弃 App 记录时才使用。 |
#9.2.4 App Privacy 页

入口:
App Store Connect → Apps → 选择 App → Distribution → App Privacy
这个页面控制 App Store 产品页显示的隐私标签。它必须与代码、SDK、隐私政策、服务端行为一致。用户把数据保存在本机,不等于开发者收集数据;数据发送到开发者服务器或第三方 SDK,才进入 App Privacy 的数据收集判断。
| 配置项 | 首发建议 | 说明 |
|---|---|---|
| 语言 / Localization | Chinese (Simplified) |
隐私政策 URL 与隐私选择 URL 可以按本地化维护。首发只有中文页面时保持中文本地化即可。 |
| Privacy Policy URL | 填阶段 ⑦ 上线的隐私政策页 | 必填。页面必须公网可访问,内容应说明数据本地保存、权限用途、联系方式、政策更新时间。 |
| User Privacy Choices URL | V1.0 无收集数据时可留空 | 可选。通常用于提供隐私选择、退出售卖或共享、管理数据等入口;无账号、无追踪、无数据收集时可以不填。 |
| Product Page Preview | 应显示 Data Not Collected |
这是用户最终在产品页看到的隐私摘要。提交前确认预览与真实行为一致。 |
| See Details | 提交前点开核对 | 用来检查具体隐私标签。不要只看标题,要确认没有误选数据类型或用途。 |
| Data Types | V1.0 本地版选择 Data is not collected from this app |
如果没有账号、云同步、分析 SDK、崩溃 SDK、广告 SDK、服务端上传,就可以声明不收集数据。 |
| Data Types → Edit | 未来功能变化后必须重填 | 一旦加入账号、云同步、客服上传、第三方统计、崩溃收集、广告、支付、推送 token 上报等能力,就要重新评估并改为 Yes,逐项声明数据类型和用途。 |
| Published 状态 | 检查发布时间和发布人 | 截图中会显示隐私信息发布状态。提交审核前确认最新隐私声明已保存并发布,不要停留在旧版本。 |
V1.0 本地版本最简答案:
Does this app collect data from this app? → No
⚠️ 如果以后加了账号、云同步、分析 SDK、崩溃 SDK、广告 SDK 或任何服务端上传,必须重新评估并改回 Yes,否则属于隐私声明不一致。
App Accessibility 不要乱勾:
App Store Connect 可能出现可访问性声明页面。只有完成真机可访问性 QA 后再声明 VoiceOver、Larger Text、Dark Interface、Sufficient Contrast 等能力;这些内容会显示在产品页,属于公开承诺。
#9.2.5 Pricing & Availability + ICP Filing Number

入口:
App Store Connect → Apps → 选择 App → Distribution → Pricing and Availability
App Store Connect → Apps → 选择 App → Distribution → App Information → China Mainland ICP Filing Number
Pricing and Availability 控制价格、销售地区、Mac / Vision Pro 兼容分发和公开 / 私有分发方式。中国大陆区还依赖 App Information 里的 ICP Filing Number 验证。
| 配置项 | 首发建议 | 说明 |
|---|---|---|
| Price Schedule | 免费 App 选择免费价格 | 价格计划控制当前价格和未来价格变更。首发免费就保持 ¥0.00 / Free;收费、订阅、内购属于更高复杂度,首发 MVP 不建议一开始引入。 |
| All Prices and Currencies | 只用于核对各地区价格 | 可查看不同国家和货币的价格。免费 App 通常无需逐个调整;付费 App 要确认税费和汇率后的显示价格。 |
| Base Country or Region | 选择主要运营地区,如 China mainland (CNY) |
Apple 可能根据税费和汇率自动调整其他地区价格,基准地区通常不自动调整。面向中国大陆首发时用中国大陆人民币口径更直观。 |
| Current Price | 免费首发选 Free / ¥0.00 |
当前生效价格。上线前再次确认,避免误设付费导致审核、税务、用户预期都变复杂。 |
| Price Dates | 默认当前价格持续生效 | 只有计划定时涨价、降价、促销时才添加未来价格。首发没有运营计划时不要设置复杂价格日程。 |
| Countries or Regions | 按目标市场选择 | 如果目标包含中国大陆,必须先完成 ICP Filing Number 验证。若备案号未下发,可先不选择 China mainland,只配置其他地区。 |
| Price Adjustment | 一般留空 | 只有做地区价格调整或未来价格计划时才会用到。免费 App 通常不需要。 |
| Prices → Download | 可下载价格表留档 | 用于运营或财务核对。个人免费首发通常不需要。 |
| App Availability | 勾选真正要上架的国家或地区 | Manage 里控制可用地区。不要为了“全球上线”盲目全选;中国大陆、欧盟、越南等地区可能有额外法规要求。 |
| China mainland Availability | ICP 验证通过后再开启 | 中国大陆区如果缺少或未通过 ICP Filing Number,可能出现 ICP Filing Number Missing 或 Invalid 并阻断上架。 |
| Tax Category | 默认 App Store software |
普通 App 使用默认税务分类。除非有明确税务依据,不要随意改成其他类别。 |
| Apple Silicon Mac Availability | 首发未适配 Mac 时不勾选 | 让 iPhone / iPad App 在 Apple Silicon Mac 上架会扩大兼容性和审核范围。没有键鼠、窗口尺寸、布局测试前建议关闭。 |
| Minimum macOS Version | 未开启 Mac 可用性时不用管 | 开启 Mac 可用性后 Apple 可自动选择最低 macOS 版本,也可手动调整。未测试时不要开启。 |
| Compatibility with Apple Silicon Macs | 只代表技术兼容,不代表体验已适配 | 即使页面显示 Version 1.0 is compatible,也不等于 UI、交互、权限、通知体验都适合 Mac。 |
| Apple Vision Pro Availability | 首发未适配 Vision Pro 时不勾选 | Vision Pro 可用性同样扩大审核和体验范围。未做空间平台测试时建议关闭。 |
| Compatibility with Apple Vision Pro | 只作为系统兼容提示 | 显示兼容不等于产品体验合格。未验证前不要开放。 |
| App Distribution Methods | 选择 Public |
Public 是公开上架到 App Store 的默认方式。首发面向普通用户时选 Public。 |
| Apple School Manager reduced price | 免费或普通个人 App 不勾 | 仅当面向学校批量采购且有明确价格策略时才使用。 |
| Private distribution | 不选 | Private 是自定义 App,面向 Apple Business Manager 或 Apple School Manager 指定组织。普通公开上架不要选;分发方式一旦批准后通常不能改。 |
| Last-Compatible Version Settings | 保持默认折叠 | 用于控制旧系统用户可下载的最后兼容版本。首发没有历史版本时不用配置。 |
| Remove App From Sale | 不使用 | 这是下架 / 停售操作。只有紧急下架或停止销售时才使用。 |
| ICP Filing Number | 填 App 备案号并等待 Apple 验证 | 入口在 App Information。填写格式以工信部 App 备案结果为准,例如 粤ICP备XXXXXXXX号-3A。不要填网站备案号 -1。 |
| ICP 验证结果 | 必须显示已验证后再提交中国大陆区 | 如果验证失败,优先检查 App 名称、Bundle ID、备案主体、备案号后缀、平台信息是否与工信部备案完全一致。 |
如果 App 备案号未下发,但想先配置其他地区,可以暂不选择 China mainland;等备案号通过并在 ASC 验证后再开启中国大陆区。
首发未专门适配时,建议取消 Apple Silicon Mac 和 Apple Vision Pro 可用性,减少审核和兼容性范围。
#9.2.6 准备 TestFlight 测试信息

此阶段可以创建内部测试组、添加测试者、填写测试说明和反馈邮箱,但 TestFlight 还不能实际安装测试。必须等阶段 ⑨ 上传 build,并在 App Store Connect 处理完成后,才能把 build 分配给测试组。
#9.3 产出物
- App Store Connect 中 App 记录已创建
- 元数据、截图全部上传
- ICP Filing Number 验证通过
- TestFlight 内测组、测试说明、反馈邮箱已准备
#9.4 ✅ 检查点
- 在 App Information 页面 ICP 显示绿色已验证
- 截图无空缺槽位(6.5" 必填)
- App Privacy 与实际行为完全一致
- TestFlight 页面只做资料准备,不要求已有 build
#阶段 ⑧ · App Store Connect 配置 -- 实战例子
#1. 创建 APP 记录

#2. 填写版本元数据
上传准备好的截图,如果截图不符合尺寸要求, 可以用 codex 或者 claude code 进行调整。


填写描述、关键字、等信息

不需登录的 APP , 取消勾选 “Sign-in required”

其他内容保持默认或者参考 SOP 的描述
#3. 填写 App Information

#4. 填写 App Privacy

先点 Edit 填隐私政策:
Privacy Policy URL: http://linktiger.cn/pawsync/privacy
User Privacy Choices URL: 留空
然后点 Get Started,按实际行为选择:
Does this app collect data from this app? -> No
也就是选择“不收集数据”。理由:PawSync V1.0 无账号、无分析 SDK、无广告、无远端服务;
填完后保存 / Publish。
#5. Pricing & Availability + ICP Filing Number

按免费 App 填:
Price Schedule 点 Add Pricing:
Price: 0.00
Start Date: Now / Today
End Date: No End Date
App Availability 点 Set Up Availability:
如果你要等 APP 备案号下来再国区提交,推荐当前先这样:
Availability:
可以先不选 China mainland,或先保存非中国大陆地区。
等 APP 备案号通过后,再开启 China mainland。
如果你确定不会在备案号下来前提交审核,也可以现在选中国大陆,但提交前必须完成 ICP Filing Number 验证。
下面这些建议这样设置:
Apple Silicon Mac Availability:取消勾选 Make this app available
Apple Vision Pro Availability:取消勾选 Make this app available on Apple Vision Pro
App Distribution Methods:Public
Offer a reduced price on Apple School Manager for volume purchases:取消勾选
Tax Category:保持 App Store software
#10. 阶段 ⑨ · Archive 上传 + TestFlight 回归
#10.1 入口条件
- App Store Connect 配置完成
- 真机直连测试通过
- Apple Distribution 证书可用
- App Icon、Bundle ID、签名 Team、Capabilities 已稳定
- TestFlight 内测组和测试说明已准备
#10.2 关键动作
Xcode → 目标选 Any iOS Device (arm64)
→ Product → Archive
→ Organizer → Distribute App → App Store Connect → Upload
→ 勾选上传 dSYM


Archive 前确认:
Version是本次要提交的用户可见版本Build比已上传过的构建号更大- Scheme 目标不是模拟器,而是
Any iOS Device (arm64) - App Icon、Bundle ID、签名 Team、Capabilities 都是上架配置
- 先执行
Product → Clean Build Folder
完整操作:在 Xcode 里这样操作:
顶部设备选择改成:Any iOS Device (arm64)不要选模拟器。
菜单栏选择:Clean Build Folder
菜单栏选择:Product → Archive
等 Archive 完成后,会自动打开 Organizer。如果没弹出,手动打开:Window → Organizer
在 Organizer 里选最新的 PawSync Archive,点:Distribute App
选择:App Store Connect
选择:Upload
后续选项一般这样:
- Upload your app's symbols:勾选
- Manage Version and Build Number:可勾选或保持默认
- Automatically manage signing:建议勾选
- 证书选择 Apple Distribution
- Profile 让 Xcode 自动处理
点 Upload,等待上传完成。
上传完成后,不会立刻出现在版本页面,通常要等几分钟到几十分钟处理。之后去:
App Store Connect
→ PawSync(你的 APP)
→ Distribution
→ 1.0 Prepare for Submission
→ Build
选择刚上传的 build。
Missing Compliance 是出口合规 / 加密合规没填,不是 build 上传失败。
当前没有自实现加密,也没有网络加密逻辑;只用了系统能力和两个 http://linktiger.cn/... 外链。
在 App Store Connect 里这样处理:
PawSync(你的 APP)
→ TestFlight 或 Distribution
→ 找到这个 Build
→ 点 Missing Compliance
按问卷选择:1. Does your app use encryption? 建议选: No
因为 PawSync V1.0 不实现加密算法,不使用 HTTPS 网络通信,不做账号、支付、VPN、消息加密、文件加密等功能。
如果页面没有 No,而是问 “Is your app designed to use cryptography or contain/encrypt data?”,同样按实际选否。
填完保存后,Build 状态会从 Missing Compliance 变成可选择。
如果你想以后不用每次问,可以在 Info.plist 加:
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
#10.2.1 等待 App Store Connect 处理 build
上传完成后,App Store Connect 需要一段时间处理 build。处理完成后,才能在版本页或 TestFlight 页面选择这个 build。
常见状态:
| 状态 | 含义 |
|---|---|
| Processing | Apple 正在处理 build,继续等待 |
| Missing Compliance | 加密出口合规问题未回答,不代表上传失败 |
| Ready to Test | 可以分配到 TestFlight 测试组 |
| Invalid Binary | 构建无效,需要看邮件原因并重新上传 |
点击 “Add build”

选择我们刚才 build 的版本

#10.2.2 处理 Missing Compliance
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Missing Compliance 是出口合规 / 加密合规未回答,不代表 build 上传失败。纯本地工具类 App 如果没有自实现加密、VPN、代理、端到端加密、加密文件存储或非标准加密算法,通常按实际选择不使用非豁免加密。

#10.2.3 分配 TestFlight build
App Store Connect → TestFlight
→ 选择已处理完成的 build
→ 填写/确认 What to Test
→ 添加到内部测试组
→ 测试者在 TestFlight App 中安装
内部测试通常不需要等待 Beta App Review;外部测试者测试前通常需要 Apple 做 Beta App Review。首发最小闭环建议先用内部测试跑通。

#10.3 ✅ 检查点
- Build 1 已上传并处理完成,可在 App Store Connect 选择
- TestFlight build 已加入内部测试组,至少 1 名测试者成功安装
- TestFlight 内测组 ≥ 1 名测试者验收通过
- 无 P0 / P1 缺陷
#阶段 ⑨ · Archive 上传 + TestFlight 回归 -- 实现案例
#1. Archive


#2. Distribute App


#3. upload to App Store Connect
点击 “Add build”

选择我们刚才 build 的版本


#4. TestFlight 回归测试
创建测试组

添加测试人员



保存后,打开 iPhone 上的 TestFlight App,用同一个 Apple ID 登录,应该能看到 PawSync。
输入邮箱里的邀请码即可。
在你邮箱里会看到 TestFlight 的邀请码

#11. 阶段 ⑩ · 提交审核
#11.1 入口条件
- TestFlight 回归通过
- App 备案号在 ASC 已验证
#11.2 关键动作
版本页 → Add for Review → 进入 Draft Submission
↓ 最后确认(详见上架 SOP §12 列表)
↓ Submit for Review
↓ 看到 1 Item Submitted
↓ 状态变为 Waiting for Review
注意:Add for Review 不等于已经提交。只有进入 Draft Submission 后点击 Submit for Review,并看到 1 Item Submitted,才表示真正提交完成。
#11.3 审核状态流转
Waiting for Review → In Review → Approved / Rejected
↑(排队,6h–48h) ↑(4h–48h) ↓ 若 Rejected
→ 修复 → Resubmit
#11.4 常见拒审原因(中国区)
| 原因代码 | 描述 | 解法 |
|---|---|---|
| 2.1 Information Needed | 提供更多信息 | 在 Resolution Center 详细回复,附演示视频 |
| 2.3 Performance | 崩溃 / 不可用 | 看崩溃日志,修复后递增 build |
| 3.1.1 In-App Purchase | 误用 IAP | 移除外部支付链接 / 用 IAP 替换 |
| 4.0 Design | 设计仿冒 / UX 不达标 | 优化导航 / 修复破碎布局 |
| 5.1.1 Privacy | 隐私政策与行为不一致 | 修正政策文本 / 修正 App Privacy 声明 |
| Guideline 1.5 - Safety | 医疗 / 安全建议无资质 | 加免责声明 / 修正描述 |
| ICP Filing Number | 备案号未通过 / 不一致 | 检查备案号与 App 名称 / Bundle ID 是否一致 |
#11.5 申诉与回复
收到 Rejection 时:
- 不要慌:90% 的拒审是文案 / 配置问题,不是代码问题
- 完整复制 Apple 原文给 Claude Code,让它分析
- 逐条回复:在 Resolution Center 用英文回复,给出证据(截图 / 视频链接)
- 如确实是误判:礼貌请求人工复审,引用 Guideline 原文
回复模板:
Hi App Review Team,
Thank you for the detailed review. We'd like to clarify and address each point:
1. Regarding [Issue 1]:
- Our app actually behaves as follows: [描述]
- Evidence: [截图 / 录屏链接]
- This is allowed per Guideline X.Y.Z because [原因]
2. Regarding [Issue 2]:
- We have updated [文件/配置] to address this concern.
- Build 2 (uploaded XX:XX UTC) reflects this change.
Please let us know if any further information is needed.
Best regards,
<Your Name>
#11.6 ✅ 检查点
- 状态显示 Approved(或 Pending Developer Release)
- 收到 Apple 邮件确认
#阶段 ⑩ · 提交审核 -- 实战例子

在这里,我暂时保留 Draft Submission , 等待 APP 备案通过后,在正式提交

#12. 阶段 ⑪ · 上架与发布后运营
#12.1 入口条件
- 审核通过
#12.2 关键动作(首发)
#12.2.1 选择发布策略
| 策略 | 说明 |
|---|---|
| Automatic | 审核通过即上架 |
| Manual Release ✅ 推荐 | 自己点 Release 时上架,便于配合宣传 |
| Phased Release | 7 天逐步放量(1% → 100%) |
#12.2.2 上架后 24 小时检查
- 产品页(App Store 搜索 App 名)显示正确
- 截图正确(无乱序)
- 隐私信息正确
- 下载并完整跑一遍
- 支持邮箱能收信
- 隐私政策 / 支持页仍可访问
如果审核通过但搜索不到,先不要急着重提审。按顺序排查:
- 用 App Store 直接链接
https://apps.apple.com/app/id<AppleID>打开 - 检查
Pricing and Availability → App Availability目标国家或地区是否 Available - 中国大陆区是否仍显示
ICP Filing Number Missing - 欧盟地区是否显示
Trader Status Not Provided - 是否选择了 Manual Release 但还没点击
Release This Version - 搜索索引可能延迟,刚上线时搜索排名也可能很低
#12.2.3 上架后 7 天监控
- App Store Connect → Analytics → 下载 / 安装 / 留存
- App Store Connect → Crashes → 崩溃率 < 0.5%
- App Store Connect → Ratings & Reviews → 评分变化
- 用户反馈邮箱
#12.3 后续迭代触发"重新合规"
新增以下能力前,必须重新评估隐私政策、App Privacy、App 备案:
- 账号 / 注册 / 登录
- 云同步 / CloudKit
- 第三方分析 / 崩溃 SDK
- 广告
- 内购 / 订阅
- 远端推送(APNs)
- 用户上传内容
- 读取系统通讯录
- 定位,尤其是后台定位
- WebView 在线内容
- 健康、医疗、心理或安全建议
常见新增能力的额外要求:
| 新增能力 | 额外检查 |
|---|---|
| 账号系统 | App 内账号删除入口、测试账号、隐私政策、App Privacy |
| 第三方分析 / 崩溃 SDK | 数据类型声明、Privacy Manifest、ATT 追踪评估 |
| 通讯录 | 权限说明、App Privacy 的 Contacts、避免上传完整通讯录 |
| 定位 | 权限说明、使用时机、后台定位必要性、年龄分级 |
| 远程推送 | Apple Developer capability、APNs key、device token 合规 |
| 内购 / 订阅 | StoreKit、恢复购买、审核员访问付费功能路径 |
| UGC | 举报、屏蔽、内容审核、服务条款、年龄分级 |
| WebView | 网页内容合规、Cookie/统计声明、不要绕过 IAP |
#12.4 ✅ 检查点
- 24 小时内无 P0 缺陷
- 7 天后崩溃率 < 0.5%
- 用户反馈渠道畅通
#13. 全流程产出物总表
完成所有阶段后,仓库内应有:
PawSync/
├── docs/
│ ├── PRD.md ① ② 阶段
│ ├── DESIGN.md ③ 阶段
│ ├── UX.md ③ 阶段
│ ├── prototype.html ③ 阶段
│ ├── SOP.md ④ 阶段(工程纪律)
│ ├── AI-DEV-SOP.md 全程引用(教学)
│ ├── IDEA-TO-APPSTORE-SOP.md 全程引用(本文件,主索引)
│ ├── SCRIPT.md ⑪ 阶段(传播)
│ ├── release/
│ │ ├── app-store-cn-release-sop.md ⑦ ⑧ ⑨ ⑩ 阶段(权威细则)
│ │ └── app-store-cn-checklist.md 各阶段进度工作台
│ └── images/
│ ├── app-store-6.5/ ⑦ 阶段(5–10 张截图)
│ └── app-store-6.9/ ⑦ 阶段(5–10 张截图)
├── PawSync/ ④ 阶段(代码)
├── PawSyncTests/ ⑤ 阶段(测试)
└── PawSyncUITests/ ⑤ 阶段(UI 测试)
外部产出物:
Apple Developer / App Store Connect
├── App 记录 + Bundle ID 注册
├── Apple Distribution 证书
├── 元数据 / 截图 / 描述
├── App Privacy 声明
├── ICP Filing Number ✅
├── Build(多个版本)
├── TestFlight 内测组
└── 审核记录
互联网
├── 域名(已购买)
├── 网站 ICP 备案号
├── App 备案号
├── 官网详情页
├── 隐私政策页
└── 支持页
#14. 资料清单总表(开工前准备)
把这张表打印出来,全部备齐再启动。
#14.1 个人材料
- 身份证正反面照片(高清)
- 手持身份证半身照(备案用)
- 一张常用银行卡(Apple Developer 付费)
- 一个稳定的手机号(接收备案、Apple ID 验证短信)
- 一个稳定的邮箱(Apple ID、Resolution Center、用户反馈)
#14.2 账号与服务
- Apple ID(建议专用,与日常账号分开)
- Apple Developer Program 账号(¥688/年)
- 域名注册账号(阿里云 / 腾讯云)
- 静态托管服务(GitHub / 对象存储 / Vercel)
#14.3 硬件与软件
- Mac(macOS 14+)
- iPhone(iOS 17+,用于真机测试)
- Lightning / USB-C 数据线
- Xcode 16+
- Claude Code CLI
#14.4 文档资源
- PRD 草稿(哪怕只有一段话)
- 竞品扫描结果
- 5 个目标用户访谈记录
#15. 完整时间线甘特图
Week 1 ① 想法验证 ▓▓
Week 1 ② 需求分析 ▓▓
Week 1 ③ 原型设计 ▓▓▓
🚧 Apple Developer 申请 ▓▓
🚧 域名购买 + 启动网站 ICP 备案 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Week 2 ④ AI 开发 (start) ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Week 2 🚧 网站 ICP 通过 ✅ → 上线隐私政策 / 支持页 ▓
Week 2-3 🚧 App 备案 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Week 3 ④ AI 开发 (end)
Week 3 ⑤ 模拟器测试 ▓▓▓▓
Week 4 ⑥ 真机直连测试 + Xcode 上架前配置 ▓▓
Week 4 ⑦ 合规收尾(截图、Icon、文案) ▓▓▓
Week 4 🚧 App 备案号下发 ✅
Week 5 ⑧ App Store Connect 配置 + TestFlight 资料准备 ▓
Week 5 ⑨ Archive + 上传 build + TestFlight 回归 ▓▓▓
Week 5 ⑩ 提交审核 ▓
Week 5-6 🚧 Apple Review ▓▓▓
Week 6 ⑪ 上线 🎉
Week 6+ ⑪ 发布后运营(持续)
关键洞察:必须同时启动开发与备案,否则总耗时会拉长到 8–10 周。
#16. 各阶段责任人(团队场景)
个人开发者:一人多角色。团队:可按下表分配。
| 阶段 | 角色 | 主要职责 |
|---|---|---|
| ① 想法验证 | 产品 | 用户访谈、竞品分析 |
| ② 需求分析 | 产品 + 技术 | PRD 撰写 |
| ③ 原型设计 | 设计 + 技术 | 设计文档 + 原型 |
| ④ AI 开发 | 开发 | 代码 + 单元测试 |
| ⑤ 模拟器测试 | 开发 + QA | 多设备回归 |
| ⑥ 真机直连测试 | 开发 + QA | 物理设备调试、Xcode 上架前配置 |
| ⑦ 合规准备 | 法务 / 运营 / 创始人 | ICP / App 备案 / 隐私政策 |
| ⑧ ASC 配置 | 运营 + 设计 | 元数据 + 截图 + TestFlight 资料准备 |
| ⑨ Archive 上传 | 开发 + QA | Archive + Distribution + TestFlight 回归 |
| ⑩ 提交审核 | 创始人 | Resolution Center 回复 |
| ⑪ 发布与运营 | 全体 | 监控 + ASO + 反馈 |
#17. 常见拒审 + 解法速查(中国区)
| 拒审场景 | 触发原因 | 解法 |
|---|---|---|
| ICP Filing Number Missing | 未填或未验证 | 等 App 备案通过后填入 |
| ICP Filing Number Invalid | 与 Bundle ID / App 名不一致 | 检查三者完全一致 |
| 2.1 Performance: Crash on Launch | 启动崩溃 | 看崩溃日志 → 修复 → 递增 build |
| 2.3.7 Accurate Metadata | 截图 / 描述与实际不符 | 重新截图 / 修改描述 |
| 2.3.10 Other Trademarks | 截图含其他品牌 | 替换截图 |
| 5.1.1 Privacy | 政策与 App Privacy 不一致 | 同步两者声明 |
| 5.2.1 Acceptable Use | 暗示医疗 / 治疗 / 推荐 | 改用"提醒 / 记录 / 遵循医嘱"等中性词 |
| 4.3 Spam | 与已上架 App 高度相似 | 强化差异化卖点 + 备注解释 |
| Guideline 5.1.2 - Data Use and Sharing | 第三方 SDK 收集未声明 | 移除 SDK 或如实声明 |
#18. 应急预案
#18.1 备案被驳回
1. 看驳回原因(管局 / 接入商邮件)
2. 修正材料 → 重新提交
3. 极端情况:换域名 / 换主体(损失:1 周)
#18.2 Apple 拒审 3 次以上
1. 召集所有材料,发邮件给 App Review Board 申诉
2. 邮箱:appreview@apple.com
3. 礼貌、专业,引用 Guideline 条款
4. 等待 3–7 工作日回复
#18.3 上架后崩溃率飙升
1. App Store Connect → Stop Sale(紧急下架)
2. 修复 + Hotfix 走 SOP-9 §10.3
3. 重新提交 → 审核(注明 "Expedited Review Request")
4. Expedited 通过通常 < 24 小时
#18.4 用户负面评论集中爆发
1. 一一回复(在 App Store Connect 中)
2. 真实问题 → 进入下一迭代
3. 误解 → 礼貌澄清 + 引导支持邮箱
#19. 写在最后
给独立开发者:
上架国区不难,难在耐心和顺序。
- 不要等开发完了才开始备案 → 至少多等一个月
- 不要忽视隐私政策的措辞 → 一个"医疗"暗示就能被拒
- 不要追求一次提交完美 → Apple 拒审是正常流程,95% 的开发者都被拒过
把这份 SOP 当作清单,一条一条勾选,第一款 App 上架时你会发现:
比想象中慢,但比想象中清楚。第二款 App,整个流程会缩短到 3 周以内。
加油,期待在 App Store 看到你的作品。
#苹果开发者注册注意事项
注册 Apple Developer Program 前,建议先确认以下事项:
1.准备一个长期使用的 Apple 账户
Apple 现在官方称为 Apple Account,国内用户通常仍叫 Apple ID。后续开发者账号、证书、App Store Connect、续费、合同协议都会绑定这个账户。不要随意更换账户。
2.开启双重认证
注册 Apple Developer Program 需要 Apple 账户开启双重认证,并且账户信息要真实、完整、可用,包括姓名、地址、手机号、受信任手机号和受信任设备。
3.使用真实法定姓名
个人开发者注册时,App Store 上显示的销售方通常是个人法定姓名。不要在姓名字段填写昵称、网名、公司名或品牌名,否则可能导致审核延迟。
4.尽量在同一台设备上完成注册
如果通过 Apple Developer App 注册,Apple 官方要求在整个注册流程中使用同一台设备完成。不要一会儿用 iPhone,一会儿换 iPad 或 Mac 继续注册,也不要在多个设备之间反复切换。
5.不要反复换 Apple 账户尝试
身份验证完成后,身份信息会关联到对应的 Apple 账户,不能再用其他 Apple 账户重复验证同一身份。如果系统提示“身份信息已经绑定到其他 Apple 账户”,正确处理方式不是继续换号尝试,而是找回或确认之前绑定身份的 Apple 账户。
6.注册过程未完成也可能留下状态
实际经历中,如果曾经用某个 Apple 账户在不同设备上尝试注册,但没有最终完成注册,后续可能触发风控或卡在注册流程中。这种情况普通用户端不一定能自行解除,需要联系 Apple Developer Support。
7.遇到身份绑定或风控问题,优先电话联系 Apple
如果邮件回复提示“身份信息已经绑定到其他 Apple 账户”,可以按 Apple 支持建议走电话支持路径:
- 前往 Apple Developer “联系我们”页面
- 选择“会员资格和账户”
- 选择“计划注册”
- 选择“电话”
- 输入电话号码,点击“打电话给我”
电话沟通时,说明你正在注册 Apple Developer Program,遇到身份信息绑定或注册流程被风控的问题,请客服协助确认身份绑定在哪个 Apple 账户上,并检查是否存在未完成注册或风控状态。
8.确认解除问题后,再固定一台设备完成注册
如果 Apple 客服确认并解除风控,后续不要再换设备或换账号。选择一台设备,例如当前 Mac,使用确认无误的 Apple 账户,把注册、身份验证、协议确认和付款流程一次性完成。