iOS APP 上架 App Store 完整指南

·20 分钟阅读·3999··作者:xinglei.wang

前言

将 iOS 应用发布到 App Store 是应用开发的最后一公里,也是让全球用户使用你的应用的必经之路。App Store 拥有超过 10 亿活跃用户,是 iOS 应用分发的唯一官方渠道。

本文将详细介绍从准备工作到成功上架的完整流程,包括 TestFlight 测试分发、内购配置、App Clip 等高级功能,帮助你顺利完成应用上架。

整体流程概览

  1. 注册 Apple Developer Program
  2. 准备应用素材和项目配置
  3. 在 App Store Connect 创建应用记录
  4. 使用 TestFlight 进行测试分发
  5. 配置内购和 App Clip(如需要)
  6. 使用 Xcode 打包并上传应用
  7. 提交审核并等待结果
  8. 发布应用并进行后续管理

准备工作

Apple Developer Program 账户

要在 App Store 发布应用,必须加入 Apple Developer Program。Apple 提供两种账户类型:

对比项 个人账户 组织账户
年费 99 美元 99 美元
发布者名称 个人姓名 公司/组织名称
团队成员 仅自己 可添加多人
申请要求 Apple ID Apple ID + D-U-N-S 编号
审核周期 即时 1-2 周
适用场景 独立开发者 公司/团队开发

企业账户(Enterprise Program):年费 299 美元,用于企业内部应用分发,不在 App Store 上架。

注册流程

  1. 访问 Apple Developer Program 官网
  2. 使用 Apple ID 登录(建议使用专用的开发者账号)
  3. 选择账户类型(个人或组织)
  4. 填写个人/组织信息
  5. 完成付款(支持信用卡/借记卡)
  6. 等待审核通过(个人即时,组织需 1-2 周)

项目配置检查

在上传应用前,确保 Xcode 项目配置正确:

Bundle ID 设置

  • 格式:反向域名,如 com.yourcompany.appname
  • 必须全局唯一,一旦设置不可更改
  • 在 Xcode 中通过 Signing & Capabilities 配置

版本号规范

  • Version(CFBundleShortVersionString):面向用户的版本号,如 1.0.0
  • Build(CFBundleVersion):内部构建号,如 11002024.12.25
  • 每次上传到 App Store Connect,Build 号必须递增

签名与证书

  • 确保使用 Distribution 证书(非 Development)
  • Provisioning Profile 类型必须是 App Store
  • 建议开启 Automatically manage signing 简化配置

应用素材准备

App 图标规格

尺寸 用途
1024 x 1024 px App Store 展示
180 x 180 px iPhone (@3x)
120 x 120 px iPhone (@2x)
167 x 167 px iPad Pro
152 x 152 px iPad (@2x)

注意:图标必须是不透明的(无 Alpha 通道),格式为 PNG。

截图尺寸要求

设备 尺寸(像素)
6.7 英寸(iPhone 15 Pro Max) 1290 x 2796
6.5 英寸(iPhone 11 Pro Max) 1242 x 2688
5.5 英寸(iPhone 8 Plus) 1242 x 2208
12.9 英寸 iPad Pro 2048 x 2732

必须提供的截图

  • 至少 6.5 英寸 iPhone 截图(最少 1 张,最多 10 张)
  • 如果支持 iPad,需要 12.9 英寸截图

应用预览视频(可选):

  • 时长:15-30 秒
  • 格式:H.264、ProRes 422
  • 分辨率:与截图相同

应用描述与关键词

  • 名称:最多 30 个字符
  • 副标题:最多 30 个字符,简短描述应用功能
  • 描述:最多 4000 个字符,详细介绍应用
  • 关键词:最多 100 个字符,用逗号分隔
  • What's New:版本更新说明

App Store Connect 配置

创建 App 记录

  1. 登录 App Store Connect
  2. 点击 My Apps+New App
  3. 填写基本信息:
    • Platform:iOS
    • Name:应用名称
    • Primary Language:主要语言
    • Bundle ID:选择已注册的 Bundle ID
    • SKU:唯一标识符(内部使用)
    • User Access:访问权限设置

应用信息填写

App Information 页面配置:

基本信息

  • Name:App Store 显示名称
  • Subtitle:副标题
  • Category:主分类和次分类
  • Content Rights:版权信息

隐私政策

  • Privacy Policy URL:必填,指向隐私政策页面
  • App Privacy:详细说明数据收集情况

年龄分级

  • 根据应用内容回答问卷
  • 系统自动计算适用年龄
  • 常见分级:4+、9+、12+、17+

版本信息配置

App Store 标签页配置版本信息:

截图与预览

  • 按设备尺寸上传截图
  • 可添加应用预览视频
  • 支持本地化(不同语言不同截图)

描述信息

  • Promotional Text:促销文字(可随时更新,无需审核)
  • Description:应用描述
  • Keywords:搜索关键词
  • Support URL:支持链接
  • Marketing URL:营销链接(可选)

What's New

  • 当前版本的更新说明
  • 对用户可见,需认真填写

定价与销售范围

Pricing and Availability 页面配置:

价格等级

等级 美元 人民币
Free $0 免费
Tier 1 $0.99 ¥6
Tier 2 $1.99 ¥12
Tier 3 $2.99 ¥18
Tier 10 $9.99 ¥68
Tier 50 $49.99 ¥348

销售地区

  • 默认全球可用
  • 可选择特定国家/地区
  • 可设置预购和发布日期

TestFlight 测试分发

TestFlight 是 Apple 官方的 Beta 测试平台,允许在正式上架前分发测试版本。

TestFlight 简介

主要特点

  • 支持 iOS、iPadOS、macOS、tvOS、watchOS
  • 测试员通过 TestFlight App 安装测试版
  • 自动收集崩溃日志和反馈
  • 测试版有效期 90 天

内部测试

内部测试员是 App Store Connect 团队成员:

配置步骤

  1. 在 App Store Connect 中进入应用
  2. 选择 TestFlight 标签
  3. 点击 Internal Testing+
  4. 创建测试组并添加成员
  5. 上传构建版本后自动分发

限制

  • 最多 100 名内部测试员
  • 无需 Beta 版审核
  • 构建上传后即可测试

外部测试

外部测试员不需要是团队成员:

配置步骤

  1. TestFlight 中创建 External Testing
  2. 添加测试员邮箱或使用公开链接
  3. 选择要分发的构建版本
  4. 提交 Beta 版审核(首次或重大更新时)
  5. 审核通过后测试员收到邀请

限制

  • 每个应用最多 10,000 名外部测试员
  • 需要通过 Beta 版审核
  • 可创建公开链接(无需邮箱邀请)

测试反馈收集

自动收集

  • 崩溃日志
  • 能耗报告
  • 设备信息

手动反馈

  • 测试员可在 TestFlight App 中提交反馈
  • 包含截图和文字描述
  • 开发者在 App Store Connect 查看

In-App Purchase 配置

如果应用需要内购功能,需要在 App Store Connect 中配置。

内购类型说明

类型 说明 示例
消耗型(Consumable) 使用后消耗,可重复购买 游戏金币、道具
非消耗型(Non-Consumable) 一次购买,永久有效 去除广告、完整版解锁
自动续订订阅(Auto-Renewable) 定期自动扣费 会员订阅、杂志
非续订订阅(Non-Renewing) 固定期限,手动续订 季度通行证

创建内购项目

  1. 在 App Store Connect 中进入应用
  2. 选择 FeaturesIn-App Purchases
  3. 点击 + 创建新项目
  4. 填写信息:
    • Reference Name:内部名称
    • Product ID:唯一标识符,如 com.app.coins100
    • Pricing:选择价格等级
    • Localization:显示名称和描述

定价与本地化

  • 选择基准价格,系统自动计算各地区价格
  • 可手动调整特定地区价格
  • 添加多语言显示名称和描述
  • 上传审核用截图(展示购买界面)

服务端验证

推荐使用服务端验证防止盗版:

验证流程:
1. 用户完成购买 → App 获得 Receipt
2. App 发送 Receipt 到自己的服务器
3. 服务器调用 Apple 验证 API
4. 验证通过后发放权益

App Store Server API

  • 生产环境:https://buy.itunes.apple.com/verifyReceipt
  • 沙盒环境:https://sandbox.itunes.apple.com/verifyReceipt

沙盒测试

  1. 在 App Store Connect 创建 Sandbox Tester 账户
  2. 在测试设备上登录沙盒账户
  3. 使用 Development 或 TestFlight 版本测试
  4. 沙盒环境不产生真实扣费

App Clip 配置

App Clip 是轻量级应用体验,用户无需下载完整应用即可使用部分功能。

App Clip 简介与使用场景

特点

  • 大小限制 15MB(iOS 16+)或 10MB(iOS 15 及以下)
  • 通过扫码、NFC、链接等方式触发
  • 可引导用户下载完整应用

适用场景

  • 餐厅点餐
  • 共享单车解锁
  • 停车缴费
  • 商品购买

项目配置

创建 App Clip Target

  1. 在 Xcode 中选择项目
  2. FileNewTarget
  3. 选择 App Clip
  4. 配置 Bundle ID(主应用 Bundle ID + .Clip

共享代码

  • 使用 Framework 共享业务逻辑
  • App Clip 和主应用可共享 App Group 数据

App Clip Code

App Clip Code 是 Apple 设计的视觉码,类似二维码:

  • 在 App Store Connect 生成
  • 支持 NFC 功能
  • 可自定义颜色和样式
  • 用于线下场景展示

体验 URL 配置

  1. 在 App Store Connect 中进入应用
  2. 选择 App ClipApp Clip Experiences
  3. 配置 URL:
    • URL:触发 App Clip 的链接
    • Action:显示的操作按钮
    • Header Image:展示图片

审核要求

  • App Clip 必须与主应用一起提交审核
  • 功能必须聚焦单一任务
  • 必须提供明确的完整应用下载入口
  • 遵守所有 App Store 审核指南

Xcode 打包与上传

Archive 构建

  1. 连接真机或选择 Any iOS Device
  2. 菜单栏选择 ProductArchive
  3. 等待构建完成
  4. 构建成功后自动打开 Organizer

常见构建问题

  • 确保选择正确的 Team 和 Provisioning Profile
  • 确保 Code Signing 配置正确
  • 检查是否有编译警告和错误

证书与描述文件配置

证书类型

类型 用途
Apple Development 开发和调试
Apple Distribution App Store 和 Ad Hoc 分发

描述文件类型

类型 用途
Development 开发测试
Ad Hoc 指定设备分发
App Store App Store 和 TestFlight
Enterprise 企业内部分发

使用 Xcode 上传

  1. Organizer 中选择构建版本
  2. 点击 Distribute App
  3. 选择 App Store Connect
  4. 选择 Upload
  5. 配置选项:
    • Include bitcode:建议开启
    • Upload symbols:建议开启
  6. 等待上传完成

使用 Transporter 上传

Transporter 是 Apple 官方上传工具:

  1. 从 Mac App Store 下载 Transporter
  2. 在 Xcode 中导出 .ipa 文件
  3. .ipa 拖入 Transporter
  4. 登录 Apple ID 并上传

适用场景

  • CI/CD 自动化上传
  • 上传失败时的备选方案
  • 批量上传多个应用

上传问题排查

常见错误及解决方案

错误 原因 解决方案
Invalid Binary 包含模拟器架构 在 Build Settings 中排除模拟器架构
Missing Compliance 加密合规声明缺失 在 Info.plist 添加 ITSAppUsesNonExemptEncryption
Invalid Provisioning Profile 描述文件不匹配 重新生成 App Store 类型描述文件
Icon Missing 图标缺失或格式错误 检查 Assets.xcassets 中的图标

提交审核

审核前检查清单

提交前请确认以下事项:

  • 应用在各种设备上正常运行
  • 所有功能可正常使用
  • 无明显 Bug 和崩溃
  • 符合 App Store 审核指南
  • 截图与实际功能一致
  • 隐私政策链接有效
  • 内购功能测试通过
  • 第三方登录功能正常
  • 无占位符文本或测试数据

提交流程

  1. 在 App Store Connect 中选择应用
  2. 进入 App Store 标签页
  3. 选择上传的构建版本
  4. 完善所有必填信息
  5. 回答出口合规和内容版权问题
  6. 点击 Submit for Review

加急审核申请

如遇紧急情况,可申请加急审核:

  1. 访问 Apple 加急审核请求
  2. 登录开发者账号
  3. 填写加急原因:
    • 严重 Bug 修复
    • 安全问题
    • 时效性活动

注意:加急审核非保证通过,仅加快审核速度。

审核周期说明

审核类型 通常周期
首次提交 24-48 小时
版本更新 24 小时内
被拒后重新提交 24 小时内
加急审核 数小时内

审核流程详解

审核状态解读

状态 说明
Waiting for Review 等待审核
In Review 审核中
Pending Developer Release 审核通过,等待开发者发布
Ready for Sale 已上架
Rejected 被拒绝
Metadata Rejected 元数据被拒(仅需修改信息)
Developer Rejected 开发者主动撤回

常见拒审原因

以下是最常见的拒审原因及解决方案:

类别 问题 解决方案
性能 应用崩溃 修复崩溃 Bug,进行充分测试
性能 加载速度过慢 优化性能,添加加载指示器
设计 功能过于简单 丰富功能,提供实质价值
设计 界面粗糙 遵循 HIG 设计规范
功能 使用私有 API 移除私有 API 调用
功能 功能不完整 确保所有功能可用
元数据 截图与功能不符 更新截图反映真实功能
元数据 描述误导用户 准确描述应用功能
法律 侵犯版权 移除侵权内容
法律 缺少隐私政策 添加有效的隐私政策链接
内购 使用第三方支付 数字商品必须使用 Apple 内购
内购 内购功能无法使用 修复内购流程
登录 缺少 Apple 登录 支持第三方登录时需提供 Apple 登录
登录 需要登录才能使用基本功能 提供游客模式或延迟登录
内容 用户生成内容缺少管理 添加举报和过滤机制

申诉与沟通技巧

收到拒审通知后:

  1. 仔细阅读拒审原因和相关审核指南条款
  2. 理解问题:确保完全理解审核员的顾虑
  3. 解决问题:修改应用或提供解释
  4. 礼貌沟通:在 Resolution Center 回复

有效的申诉策略

  • 提供详细的功能说明和截图
  • 解释业务场景和使用方式
  • 附上相关法律文件或授权证明
  • 保持专业和礼貌的态度

重新提交

修改后重新提交:

  1. 如果是 Metadata Rejected,只需修改元数据后回复
  2. 如果需要修改代码,上传新的构建版本
  3. 在 Resolution Center 说明修改内容
  4. 点击 Submit for Review

发布与后续管理

发布选项

手动发布

  • 审核通过后需手动点击发布
  • 适合需要协调营销活动的场景

自动发布

  • 审核通过后立即自动上架
  • 适合常规更新

分阶段发布

  • 逐步向用户推送更新(7 天内)
  • 可监控崩溃率后再决定是否全量发布
  • 可随时暂停或加速

版本更新流程

  1. 在 App Store Connect 创建新版本
  2. 填写版本号和 What's New
  3. 上传新的构建版本
  4. 更新截图(如有界面变化)
  5. 提交审核

用户评价管理

回复评价

  • 在 App Store Connect 中查看和回复
  • 及时回复负面评价
  • 表达感谢和改进意愿

请求评价

  • 使用 SKStoreReviewController 请求评价
  • 每年每个用户最多触发 3 次
  • 选择合适时机(如完成任务后)

销售与下载数据分析

App Analytics 中查看:

  • 展示次数:App Store 页面查看次数
  • 下载量:首次下载和重新下载
  • 销售额:按地区、时间段查看
  • 留存率:用户回访情况
  • 崩溃率:按版本和设备查看

常见问题排查

上传失败

网络问题

  • 检查网络连接稳定性
  • 尝试切换网络环境
  • 使用 Transporter 工具上传

验证失败

  • 检查 Bundle ID 是否匹配
  • 确认证书和描述文件正确
  • 验证 Info.plist 必填字段

证书问题

证书过期

  • 在 Apple Developer 网站更新证书
  • 在 Xcode 中刷新 Provisioning Profile

证书不匹配

  • 确保使用 Distribution 证书
  • 检查 Keychain 中的证书是否有效

审核被拒

  • 仔细阅读拒审邮件中的具体原因
  • 对照 App Store Review Guidelines 修改
  • 在 Resolution Center 寻求澄清
  • 必要时提供演示视频或测试账号

TestFlight 问题

测试员无法安装

  • 确认测试员邮箱正确
  • 检查设备是否兼容
  • 确认构建版本已分发

构建版本不可用

  • 检查是否已完成处理
  • 确认 Export Compliance 信息
  • 外部测试需通过 Beta 审核

内购问题

沙盒测试失败

  • 确认使用沙盒测试账户
  • 检查内购项目状态是否为"Ready to Submit"
  • 验证 Product ID 正确

审核时内购不可用

  • 确保内购项目已提交审核
  • 提供清晰的购买流程截图
  • 在 Review Notes 中说明测试方法

参考资料

相关推荐

iOS APP 备案流程完整指南

详细介绍中国大陆 iOS 应用备案的完整流程,包括备案前准备、材料清单、各大云平台操作指南、审核流程、常见问题解答以及 App Store 备案号提交方法

·16 分钟·
#iOS#APP备案

网站 ICP 备案流程完整指南

详细介绍中国大陆网站 ICP 备案的完整流程,包括备案类型区分、材料准备、各大云平台操作指南、审核流程、公安备案以及常见问题解决方案

·18 分钟·
#ICP备案#网站备案