App Store Connect 技术支持

解决 App 提交、审核、证书配置、TestFlight、内购等常见问题

50+解决方案
10+详细指南
20+常见问答

操作指南

从零开始,逐步掌握 App Store Connect 的关键操作流程

01

App 首次提交完整流程

  1. 在 App Store Connect 创建 App 记录(Bundle ID 需与 Xcode 一致)
  2. 在 Xcode 中配置签名证书与 Provisioning Profile
  3. Archive 项目并上传至 App Store Connect
  4. 填写 App 元数据:名称、描述、关键词、截图(至少 6.5 英寸和 5.5 英寸)
  5. 设置定价与销售范围
  6. 添加 App 隐私标签(Privacy Nutrition Label)
  7. 提交审核 — 等待 24-48 小时
02

TestFlight 内测 / 公测配置

  1. 上传构建版本后,在 TestFlight 标签页等待"合规性"状态变为就绪
  2. 如出现"缺少合规证明",在构建的"Test Information"中填写出口合规信息
  3. 创建内部测试组(团队内成员,无需审核)或外部测试组(需审核)
  4. 外部测试:填写测试说明、Beta App 审核信息,首次提交需通过 Beta 审核
  5. 添加测试员邮箱,发送邀请链接
  6. 测试员通过 TestFlight App 安装并反馈
03

内购 (In-App Purchase) 设置

  1. 在 App Store Connect → 功能 → 内购项目 → 创建
  2. 选择类型:消耗型 / 非消耗型 / 自动续期订阅 / 非续期订阅
  3. 填写产品 ID(与代码中一致)、参考名称、定价
  4. 添加至少一种订阅时长(订阅类)的定价
  5. 添加本地化显示名称和描述
  6. 上传审核截图(确认购买、登录、订阅页面)
  7. 提交审核时确保 IAP 状态为"准备提交"
04

证书与 Provisioning Profile 管理

  1. 开发证书:用于真机调试(Development)
  2. 发布证书:用于 App Store / Ad Hoc 分发(Distribution)
  3. 在 Apple Developer 网站 → Certificates 创建证书(CSR 通过钥匙串生成)
  4. 创建 App ID(需与 Xcode Bundle ID 匹配,启用所需 Capability)
  5. 创建 Provisioning Profile:关联证书 + App ID + 设备(开发版)
  6. 推荐使用 Xcode 自动签名管理,减少手动配置出错概率

常见问题排查

按类别查找解决方案

证书与签名

证书已过期 / "Certificate has expired"

原因:开发证书或发布证书的有效期为 1 年,到期后需重新生成。

解决步骤:

  1. 登录 Apple Developer
  2. 进入 Certificates, Identifiers & Profiles
  3. 删除已过期的证书
  4. 使用钥匙串 → 证书助理 → 从证书颁发机构请求证书,生成新 CSR
  5. 上传 CSR 创建新证书,下载并双击安装
  6. 在 Xcode → Signing & Capabilities 中刷新配置文件
"No signing certificate 'iOS Distribution' found"

原因:本地缺少有效的发布证书,或证书未关联到当前 Xcode 项目。

解决步骤:

  1. 确保在 Apple Developer 账号中存在有效的 iOS Distribution 证书
  2. 如存在但本地没有,可在开发者网站下载后双击安装
  3. 在 Xcode → Settings → Accounts 中刷新 Apple ID 配置
  4. 检查 Signing & Capabilities 中选择了正确的 Team
  5. 建议启用 "Automatically manage signing"
Provisioning Profile 不包含当前设备 UDID

原因:开发版 Provisioning Profile 需要注册设备 UDID 才能安装。

解决步骤:

  1. 在 Apple Developer → Devices 中添加新设备 UDID(通过 Xcode Window → Devices 获取)
  2. 编辑对应的 Provisioning Profile,勾选新添加的设备
  3. 下载新的 Profile 或让 Xcode 自动同步

TestFlight 相关问题

构建版本显示"缺少合规证明"

原因:App 使用了加密技术但未声明出口合规信息。

解决步骤:

  1. App Store Connect → TestFlight → 选择构建版本
  2. 点击 "Test Information" 旁边的编辑
  3. 找到"出口合规证明"部分
  4. 如果仅使用系统加密库(HTTPS 等),选择"是,使用加密但适用豁免"
  5. 如果完全不使用加密,选择"否"
测试员收不到 TestFlight 邀请邮件

排查要点:

  • 确认邮箱地址无误,且测试员 Apple ID 与此邮箱关联
  • 让测试员检查垃圾邮件文件夹
  • 在 App Store Connect → TestFlight → 测试员列表中查看邀请状态
  • 可点击"重新发送邀请"
  • 外部测试需先通过 Beta App 审核才能发送邀请
TestFlight 版本过期无法安装

原因:TestFlight 构建版本有效期为上传后 90 天。

解决:上传新的构建版本,过期后将自动不可用。建议定期更新构建以保持测试连续性。

App 审核常见被拒原因

Guideline 2.1 - App 完成度不足(崩溃、占位符、死链)

解决:

  • 彻底测试所有页面和功能流程
  • 删除所有占位符内容和 TODO 标记
  • 确保所有外部链接可正常访问
  • 提交前使用 TestFlight 多轮内测
  • 使用 Xcode Organizer 检查崩溃日志

Appeal 策略:在解决方案中心提供详细的复现步骤说明和已修复的截图。

Guideline 4.2 - 最低功能要求(功能过于简单)

常见触发场景:套壳网页 App、纯模板 App、无实质交互功能。

解决:

  • 增加原生功能模块(推送通知、相机、定位等合理使用)
  • 提供有意义的用户交互和内容
  • WebView App 需要有足够的原生功能和离线能力
  • 确保 App 提供持续的、有价值的使用体验
Guideline 5.1.1 - 隐私数据收集与声明

解决:

  • App Store Connect → App 隐私标签必须如实填写
  • 需要隐私政策 URL(即使是个人开发者也必须提供)
  • 收集数据前必须获得用户明确同意(ATT 框架)
  • 不得在用户拒绝授权后仍追踪或收集数据
  • 检查第三方 SDK 是否存在静默数据收集
Guideline 3.1.1 - 内购支付违规(绕过 IAP)

规则核心:数字内容/服务必须使用 Apple IAP,不可引导用户使用第三方支付。

  • 实体商品/服务 → 可用第三方支付(电商、打车、外卖)
  • 数字内容(会员、课程、虚拟币、解锁功能)→ 必须 IAP
  • 不得在 App 内出现支付宝、微信支付等第三方支付字样或跳转链接
  • 阅读器 App(书籍、音视频)可申请 External Link Account 授权

构建上传问题

ITMS-90424: Invalid Swift Support

原因:App 包含 Swift 代码但缺少必要的 Swift 支持文件。

解决:确保 Xcode Build Settings 中 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 设置为 YES,且 Deployment Target ≥ iOS 13。

ITMS-90078: Missing Push Notification Entitlement

原因:App 使用了推送通知 API 但未在 Capabilities 中启用 Push Notifications。

解决:

  1. Xcode → Signing & Capabilities → + Capability → Push Notifications
  2. 确保 App ID 在开发者网站上已启用 Push Notifications 能力
  3. 如有需要,重新生成 Provisioning Profile
ITMS-90713: Missing Info.plist key (Privacy)

原因:iOS 14+ 要求在使用特定权限时在 Info.plist 中提供使用说明。

常见缺失 Keys:

  • NSCameraUsageDescription
  • NSPhotoLibraryUsageDescription
  • NSLocationWhenInUseUsageDescription
  • NSMicrophoneUsageDescription
  • NSUserTrackingUsageDescription

内购与订阅

IAP 商品列表加载失败 / SKProductsRequest 无返回

排查清单:

  1. IAP 产品 ID 必须与代码中完全一致(区分大小写)
  2. 产品必须在 App Store Connect 中状态为"准备提交"或"已批准"
  3. 必须签署 Paid Applications Agreement(协议、税务和银行业务)
  4. 必须填写银行和税务信息
  5. 沙盒测试账号需在 App Store Connect → 用户和访问 → 沙箱测试员中创建
  6. 测试设备需退出正式 Apple ID,使用沙盒账号登录(设置 → App Store → 沙箱账号)
  7. 产品创建后可能需要数小时才能在沙盒环境中生效
沙盒环境订阅无法取消 / 续订周期过慢

说明:

  • 沙盒订阅会自动续订但有限次数(通常 6 次后取消)
  • 沙盒订阅周期加速:1 个月 → 5 分钟,1 年 → 1 小时
  • 在设备"设置 → App Store → 沙箱账号 → 管理订阅"中管理
  • 使用 App Store Connect 的"订阅管理"查看沙盒购买记录
Server-to-Server 通知未收到

排查:

  • 检查 App Store Connect → App → 通用信息 → App Store 服务器通知 URL 是否正确
  • 服务器必须支持 HTTPS,TLS ≥ 1.2
  • 查看服务器日志确认是否收到 App Store 的验证请求
  • 使用 App Store Connect 中的"发送测试通知"功能验证
  • 确保服务器防火墙 / 安全组允许 Apple IP 段访问

账户与权限

App Store Connect 无法登录 / 二次验证问题
  • 确保 Apple ID 开启了双重认证(这是强制要求)
  • 生成 App 专用密码:appleid.apple.com → 登录与安全 → App 专用密码
  • Xcode / Transporter 上传需使用 App 专用密码,而非 Apple ID 主密码
  • 频繁登录失败可能导致账户临时锁定(等待 24 小时自动解锁)
团队成员看不到 App / 缺少必要权限

App Store Connect 角色说明:

  • Account Holder:唯一最高权限,签署法律协议
  • Admin:管理团队成员和大部分操作
  • App Manager:管理 App 的元数据、定价、提交审核
  • Developer:上传构建、管理 TestFlight
  • Marketing:管理 App Store 产品页素材
  • Sales:查看销售和趋势报告
  • Finance:查看付款和财务报告

在 App Store Connect → 用户和访问 → 用户 → 添加用户来分配角色。

常见问答 (FAQ)

审核一般需要多长时间?

正常审核周期为 24-48 小时。新 App 首次提交可能更长(3-5 天)。如遇节假日或特殊时期可能延迟。紧急修复可申请 加急审核

App 被拒后如何申诉?

在 App Store Connect → 解决方案中心 回复审核团队,说明具体情况。也可通过 App Review Board 提交正式申诉。

App 名称被占用怎么办?

App 名称在每个地区唯一。如果名称已被占用,可以:添加副标题、使用不同拼写、或等待占用者下架(超过 180 天未更新的 App 可能被移除)。

iOS 开发者账号价格是多少?

个人/组织账号:$99/年。企业账号(Enterprise):$299/年。企业账号用于内部分发(In-House),不可提交至 App Store。

能否自己测试 IAP 而不产生真实扣费?

可以。使用沙盒测试员账号登录设备后,所有 IAP 交易均为沙盒环境,不会产生真实扣费。测试卡号不可用,真实绑定的支付方式在沙盒环境也不会扣款。

App 大小限制是多少?

通过蜂窝网络下载的 App 包大小限制为 200MB(压缩后)。超过此限制需通过 Wi-Fi 下载。使用按需资源 (On-Demand Resources) 可减小初始安装包大小。

App Transfer(转让人)如何操作?

在 App Store Connect → App 信息 → App 转让。需满足条件:所有内购状态为"已批准"、没有 TestFlight 测试进行中、两个账号均已接受最新协议。

如何获取上一年度的财务报告?

App Store Connect → 趋势和报告 → 财务报告。可导出每月或每年的详细财务数据。付款信息在"协议、税务和银行业务"中查看。

常见错误代码速查

错误码 含义 快速解决
ITMS-90022 缺少必需的图标文件 确保 Assets.xcassets 包含所有尺寸的 App Icon
ITMS-90078 缺少推送通知授权 在 Capabilities 中启用 Push Notifications
ITMS-90034 签名无效或缺失 检查证书是否有效,Profile 是否匹配
ITMS-90129 无用的架构或位码问题 确保使用最新 Xcode 和正确 Build Settings
ITMS-90338 非公共 API 使用 移除私有 API 调用,检查第三方 SDK
ITMS-90535 使用了不被允许的第三方 SDK 更新或替换违规 SDK 版本
ITMS-90683 Info.plist 缺少必要字段 补全所有必需的 plist 键值对
ITMS-90713 缺少隐私使用说明 在 Info.plist 中添加对应权限说明文案

官方资源与工具