当 App Store 审核被拒时,很多团队的第一反应是改代码。 但实际排查后会发现,被拒的原因分布在不同方面:
- 签名或构建问题
- 权限说明不完整
- 功能与描述不一致
- 元数据填写错误
如果没有明确的排查顺序,很容易反复修改却始终没有对准问题。
一、第一步不是改代码,而是读完整拒审内容
收到拒审邮件后可以:
- 打开 App Store Connect
- 查看具体拒审条款编号(例如 4.3、2.1 等)
重点是逐条对照审核说明。
如果是技术性问题,通常会明确指出:
- App 无法启动
- 某功能点击无响应
- 登录流程卡住
- 权限说明缺失
此时建议先确认构建是否一致。
二、确认上传的构建版本
在 App Store Connect 中确认:
- 当前被拒的构建号
- 对应的 IPA 是否是最新版本
- 是否误提交旧构建
如果团队中有多人参与发布,很容易发生上传了错误版本的情况。
可以使用 AppUploader(开心上架)重新查看上传记录,确认:
- 上传时间
- 使用的账号
- 构建文件名称
如果版本不一致,直接重新上传正确 IPA 即可。
三、验证签名与描述文件是否匹配
某些被拒原因看起来像“功能异常”,实际可能是签名问题。
例如:
- 推送无法触发
- 某些能力未启用
- 权限声明不生效
可以通过以下步骤验证:
- 查看当前 IPA 使用的证书
- 查看 mobileprovision 内容
- 确认描述文件类型是否为 App Store
在 AppUploader 中可以:
- 查看描述文件内容
- 确认证书指纹
- 核对 Bundle ID
如果发现描述文件仍为 Development 类型,需要重新生成 App Store 类型并重新打包。
四、权限与隐私声明排查
当拒审理由涉及隐私或权限时,需要核对:
- Info.plist 中是否声明使用原因
- App 内是否实际触发权限弹窗
- 隐私政策链接是否有效
例如:
- 使用相机但未声明 NSCameraUsageDescription
- 使用定位但没有解释用途
此类问题不需要修改架构,只需在 plist 中补充说明并重新打包。
五、功能一致性检查
若拒审原因涉及“功能与描述不一致”或“应用与网页内容重复”,建议:
- 检查 App Store 描述是否夸大功能
- 确认测试账号是否可用
- 提供可登录的测试账号
可以在提交版本说明中写明:
- 测试账号
- 测试路径
- 功能入口说明
避免审核人员误判功能不可达。
六、重新打包与上传
问题修复完成后,需要生成新的构建版本。
操作顺序:
- 修改代码或配置
- 更新 Build 号
- 重新打包 IPA
- 上传新版本
上传可以使用:
- Xcode Organizer
- Transporter
- AppUploader 桌面版或命令行
使用 AppUploader 上传时,只需:
- 输入 Apple 账号
- 使用专用密码
- 选择新的 IPA 文件
上传成功后,在 App Store Connect 选择新构建并重新提交审核。
七、避免反复被拒的操作建议
当问题涉及流程错误,而不是功能缺陷时,可以建立固定自检清单:
- 构建号是否递增
- 描述文件是否为 App Store 类型
- 权限说明是否完整
- 测试账号是否有效
- 隐私政策链接是否可访问
每次提交前对照检查,可以减少反复被拒。