App Review —— 是在App Store发布之前对应用进行审核的过程。每个应用都要经过审核以确保符合Apple的规定:安全性、隐私性、界面质量和工作稳定性。根据Apple Developer Guidelines, 2024的数据,48小时 —— 是提交申请后的平均审核时间。了解审核标准有助于开发人员一次通过审核。
要点
App Review —— 是Apple应用在App Store发布之前进行审核的过程。每个应用、更新或扩展程序都要根据App Store Review Guidelines进行合规性检查——这是一份涵盖安全性、隐私性、设计、法律规范和内容等多个部分的文档。
该程序对Apple生态系统中的所有开发人员都是强制性的。如果没有通过App Review,应用不会出现在App Store目录中,无法下载,也不能通过TestFlight分发。例外情况——用于内部企业分发的Enterprise证书。
Apple在2008年随着App Store的推出同时引入了App Review。最初,审核需要7-14天,并且不那么正式。根据CNBC(2023)的研究,15年来Apple因各种原因拒绝了超过200万个应用。2020年,Apple为高信任评级的开发人员推出了加速审核计划。
与Google Play不同,Google Play可以在没有预先审核的情况下发布,App Store采用预先审核——每个应用在发布前都要经过检查。Google Play采用事后审核和自动扫描器。根据Appfigures(2024)的分析,App Store的平均批准时间为48小时,而Google Play为4小时。同时,App Store的拒绝率高出35%。
通过App Store Connect上传构建版本后,将开始多阶段审核。开发人员提交应用进行审核,选择版本并填写元数据。Apple根据应用类别和地区在审核团队之间分配申请。
第一阶段自动执行。Apple的扫描器检查二进制代码中是否存在恶意框架、是否使用封闭API以及是否符合App Store格式。系统分析元数据:名称、描述、屏幕截图和年龄评级。自动审核需要5到30分钟。
import StoreKit
func checkReviewStatus() {
let url = URL("https://api.appstoreconnect.apple.com/v1/apps/<APP_ID>/reviewSubmissions")!
var request = URLRequest(url: url)
request.setValue("Bearer <JWT_TOKEN>", forHTTPHeaderField: "Authorization")
URLSession.shared.dataTask(with: request) { data, _, _ in
guard let data = data else { return }
let status = try? JSONDecoder().decode(ReviewStatus.self, from: data)
print("审核状态:\(status?.attributes.state ?? \`"unknown\`")")
}.resume()
}
自动审核后,申请将提交给人工审核员。审核员检查应用的功能性,测试关键场景,评估设计是否符合Human Interface Guidelines,并检查内容。根据Apple(2024)的报告,人工审核占总审核时间的40-70%。
App Store Review Guidelines —— 是一套分为6个主要类别的规则:安全性、隐私性、设计、法律要求、内容和技术标准。每个类别包含5到30个子项,有具体要求。
| 类别 | 主要要求 | Guidelines |
|---|---|---|
| 安全性 | 无恶意代码,数据保护 | 1.0-1.5 |
| 隐私性 | 个人数据处理,请求权限 | 2.0-2.5 |
| 设计 | 符合HIG,界面稳定性 | 3.0-3.4 |
| 法律 | 年龄评级,赌博游戏,内容 | 4.0-4.9 |
| 内容 | 无侮辱性内容,版权 | 5.0-5.6 |
Apple严格检查Privacy Manifest的使用和数据收集目的的说明。自2024年起,每个应用必须指明用于数据收集的API并说明其必要性。缺少Privacy Manifest——常见的拒绝原因之一。
应用必须遵循Human Interface Guidelines。Apple拒绝包含无法正常工作的元素、损坏的链接、在不同设备上显示不正确以及文本不可读的应用。特别注意对Dynamic Type和VoiceOver的适配。
App Review的准备从开发阶段就开始了。大多数拒绝不是由代码错误引起的,而是由违反正式要求引起的:缺少测试帐户、元数据不完整或年龄评级不正确。以下是提交前的准备检查清单。
// 提交前App Review检查
struct PreReviewChecklist {
let hasPrivacyManifest: Bool
let hasTestAccount: Bool
let screenshotsValid: Bool
func isReadyForReview() -> Bool {
let checks = [hasPrivacyManifest, hasTestAccount, screenshotsValid]
return checks.allSatisfy { $0 }
}
}
在App Store Connect中,需要指定应用类别、关键词、描述和联系信息。对于有订阅的应用,需要填写价格和订阅期限信息。Apple建议添加15-30秒的视频预览——这可以将安装转化率提高20-25%。
在提交审核之前,在物理设备上使用不同版本的iOS进行测试。模拟器无法检测性能、过热和电池消耗问题。Apple拒绝在标准使用场景中崩溃或卡死的应用。
如果应用已本地化为多种语言,请检查本地化字符串和数据格式化的正确性。Apple拒绝在选择了中文的情况下界面部分仍保留英文的应用。对于在欧盟或中国有内容的应用,请检查是否符合地区法律:GDPR、CCPA和中国认证要求。
要自动化App Review流程,请使用App Store Connect API。该API允许以编程方式上传构建版本、跟踪审核状态和接收变更通知。通过Fastlane或GitHub Actions与CI/CD集成可以将从提交到审核的时间从几小时缩短到10-15分钟。注意:不要使用拼音而不是汉字。
根据Apple在2024年发布的App Review统计数据,5个原因占所有拒绝的60%以上。其中大多数与技术错误无关,而是与违反展示和描述规则有关。
| 原因 | Guideline | 拒绝占比 |
|---|---|---|
| 信息不完整 | 3.0-3.4 | 22% |
| 未经同意收集数据 | 2.0-2.5 | 18% |
| 崩溃和错误 | 1.0-1.5 | 12% |
| 无IAP的付费内容 | 4.0-4.2 | 10% |
| 年龄评级不正确 | 5.0-5.6 | 8% |
拒绝时,Apple会发送说明原因的邮件以及指向Guidelines特定部分的链接。开发人员可以解决问题并通过App Store Connect重新提交应用。为了澄清拒绝原因,可以使用Resolution Center——与Apple审核员的聊天功能。
如果开发人员不同意审核员的决定,可以提出申诉。在Resolution Center中,需要说明应用为何符合规则,并附上证据。根据Appfigures(2024)的报告,大约35%的申诉在重新审查后获得批准。
App Review的标准审核时间为24-48小时。然而,在高负荷时期——WWDC之后、新年假期前以及iOS更新季节——时间会延长到5-7天。Apple在App Review Status页面上发布当前平均时间。
对于关键修复,Apple提供Expedited Review——在2-6小时内进行加速审核。申请通过App Store Connect提交,需说明原因:修复关键漏洞、恢复服务或阻止用户工作的错误。虚假的加速请求可能导致后续申请被拒绝。
加速审核仅在应用变得无法使用或违反法律的情况下才合理。根据Apple Developer Support(2024)的数据,在有正当理由的情况下,Expedited Review在70%的情况下获得批准。不建议为带有新功能的计划更新请求加速。
常见问题
标准审核需要24-48小时。在高负荷时期,时间可延长到5-7天。当前平均时间在App Store Connect的App Review Status页面上公布。
可以,通过Expedited Review机制。加速审核需要2-6小时。申请在App Store Connect中提交,需附上理由:关键漏洞、服务故障或阻塞性错误。虚假申请会导致拒绝。
修复邮件中指出的违规问题,并通过App Store Connect重新提交应用。如需澄清原因,请使用Resolution Center——与Apple审核员的聊天功能。重新审核无需额外付费。
不需要,重新审核是免费的。修复违规后,只需在App Store Connect中上传新的构建版本或更新元数据,然后重新提交申请即可。尝试次数不限。
状态显示在App Store Connect的My Apps部分中→选择应用→App Review标签。可用状态:Waiting for Review、In Review、Approved、Rejected。通知将发送到开发人员的电子邮箱。
总结
我们将开发一款交钥匙移动应用程序
IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。