App Store 审核指南-app性能

发布时间:2021-04-10 13:33
  • 2.1 App 完成度

    提交至 App Review 的申请 (包括可供预订的 app) 应为该 app 的最终版本,并应包含所有必要的元数据和有效网址。所有占位符文本、空白网站和其他临时内容应在提交前移除。在提交 app 之前,请务必在设备上对 app 的错误和稳定性进行测试;如果您的 app 需要登录,请提供演示帐户信息 (并打开您的后台服务!)。如果您在 app 中提供了 App 内购买项目,请确保审核人员能够看到这些内容,并确保这些内容处于完整且最新的状态,否则请在审核备注中说明相关原因。请不要将 App Review 视作软件测试服务。我们将拒绝不完整的 app 套装以及会出现崩溃或存在明显技术问题的二进制文件。

  • 2.2 Beta 测试

    App 的演示版、beta 版和试用版不适合出现在 App Store 中,请改用 TestFlight。所有通过 TestFlight 提交以进行测试发布的 app 都应以公开发布为目的,并应遵循 App Review 准则。请注意,使用 TestFlight 的 app 不得分发给测试者用以换取任何类型的报酬,包括作为众筹资金的奖励。对于 beta 版 app 的大幅更新应先提交至 TestFlight App Review 团队,然后再分发给您的测试者。欲了解更多信息,请访问“TestFlight Beta 测试”。

  • 2.3 准确的元数据

    顾客在下载或购买您的 app 时,应该知道他们将得到什么,所以请确保您的所有 app 元数据,包括隐私信息、app 描述、截屏和预览,能够准确反映 app 的核心体验;并请记得更新,以保持与新版本相应的最新状态。

    • 2.3.1 请勿在 app 中包含隐藏、休眠或未记录的功能;不管是对于终端用户还是 App Review 团队,app 功能都应清晰可见。所有新的特性、功能和产品变更内容都必须在 App Store Connect 的“审核备注”部分中予以详细描述 (笼统的描述会导致 app 被拒绝),并且可供审核。同样,您不应该在 App Store 或离线情况下,营销您的 app 中实际并不提供的内容或服务 (例如基于 iOS 的病毒和恶意软件扫描工具)。如果出现恶劣或屡教不改的行为,则可能会从 Apple Developer Program 中除名。我们正努力将 App Store 打造成值得信赖的生态系统,并希望我们的 App 开发者也能如此;如果您不诚实以待,我们之间就不会有任何业务往来。

    • 2.3.2 如果您的应用包含 App 内购买项目,请确保应用的描述、截屏和预览清楚地指明是否有需要另行购买的精选项目、关卡和订阅等。如果您决定在 App Store 中推广 App 内购买项目,请确保 App 内购买项目的显示名称、截屏和描述适合所有公众,并遵循“推广您的 App 内购买项目”中的准则;此外,您的 app 也应正确使用 SKPaymentTransactionObserver 方法 (英文),以便顾客在 app 内无缝完成购买。

    • 2.3.3 截屏应展示 app 的使用情况,而非仅显示标题封面、登录页面或初始屏幕。截屏还可以包括文本及图像说明 (例如:演示输入机制,如触控点或 Apple Pencil 的动画),并展示设备上的扩展功能,如触控栏。

    • 2.3.4 预览是让顾客了解 app 外观和功能的绝佳方式。为了确保顾客清楚他们将在 app 中获得的体验,预览只可使用从 app 中采集的视频屏幕。Stickers 和 iMessage 信息扩展可以将用户体验展示在“信息”app 中。您也可以添加旁白和视频,或添加文本说明,以帮助说明任何无法仅通过视频进行阐明的内容。

    • 2.3.5 请为 app 选择最适合的类别,并在需要帮助时参考“App Store 类别定义”。如果选择的类别与实际情况相差较远,我们可能会更改 app 的类别。

    • 2.3.6 请在 App Store Connect 中诚实地回答年龄分级问题,以使 app 与家长控制功能的分级保持一致。如果 app 分级有误,顾客在获得 app 时可能会感到诧异,或促使政府监管部门展开相应调查。如果 app 所含的媒体内容要求显示内容分级或警告 (如电影、音乐和游戏等),则需在销售 app 的每个地区内遵循当地要求。

    • 2.3.7 请选择一个独特的 app 名称,指定能够准确描述 app 的关键词,不要试图用商标术语、流行 app 的名称、定价信息或其他不相关的短语来包装任何元数据,以此欺骗系统。App 名称必须限制在 30 个字符以内。App 名称、副标题、截屏和预览等元数据不得包含并非对应该元数据的价格、词语或描述。App 副标题是详细介绍 app 背景信息的绝佳之处。副标题必须遵循我们的标准元数据规则,且不得包含不当内容、提及其他 app 或做出无法证实的产品声明。Apple 可以随时修改不合适的关键字或采取其他相应步骤,以防止不当使用。

    • 2.3.8 元数据应适合所有受众,所以请确保您的 app 和 App 内购买项目的相关图标、截屏和预览保持在 4+ 年龄分级;即使您的 app 分级更高,也应如此。例如,如果您的 app 是包含暴力的游戏,请勿选择包含惨烈的死亡或用枪瞄准特定角色的图像。只有“儿童类别”的 app 才能在元数据中使用类似“适合幼儿”和“适合儿童”等词语。请务必确保包括 app 名称和图标 (小图标、大图标、Apple Watch app 和备用图标等) 在内的元数据彼此相似,以免引起困惑。

    • 2.3.9 您应负责确保有权使用 app 图标、截屏和预览中的所有材料,并应显示虚构的帐户信息,而非真实个人的数据。

    • 2.3.10 请确保您的 app 注重 iOS、Mac、Apple TV 或 Apple Watch 体验,并且不在 app 或元数据中包含其他移动平台的名称、图标或图像,除非存在已获批的特定互动功能。确保您的 app 元数据注重 app 本身及其体验。不要包含无关的信息,包括但不限于关于 Apple 或开发流程的信息。

    • 2.3.11 您提交至 App Store 可供预订的 app 必须为完整且可发布的状态。请确保您最终发布的 app 与其在预购状态时所宣传的内容没有实质性差异。如果您对该 app 进行了重大更改 (例如更改其商业模式),则应重新开始其预订销售。

    • 2.3.12 App 必须在其“新功能”文本中清楚地描述新功能和产品更改情况。一些简单的错误修复、安全更新和性能改进可以通过一般描述来说明,但较为重大的更改必须列明在备注中。

  • 2.4 硬件兼容性

    • (i) 这些 app 必须妥当地沙盒化,并遵循“macOS 文件系统文档 (英文)”。另外,这些 app 只应使用相应的 macOS API 来修改其他 app 存储的用户数据 (如书签、“地址簿”或“日历”条目)。

    • (ii) 这些 app 必须使用 Xcode 中提供的技术来进行打包和提交;不允许使用第三方安装器。另外,这些 app 必须是单个的自包含 app 安装包,不能将代码或资源安装在共享位置。

    • (iii) 这些 app 不得自动启动或者在启动时包含其他自动运行的代码,不得在未经同意的情况下登录,也不得大量生成在用户退出 app 后仍在未经同意的情况下继续运行的进程。这些 app 不得将图标自动添加到程序坞中,或在用户桌面上留下快捷方式。

    • (iv) 这些 app 不得下载或安装独立的 app、kext、额外代码或资源,以向我们在审核过程中看到的 app 添加功能,或进行大幅更改。

    • (v) 这些 app 不得申请升级至 root 特权或使用 setuid 属性。

    • (vi) 这些 app 不得在启动时显示许可证屏幕、需要使用许可证密匙或实施自己的拷贝保护措施。

    • (vii) 这些 app 必须使用 Mac App Store 分发更新;不允许使用其他更新机制。

    • (viii) 这些 app 应在当前发布的 OS 上运行,不得使用已停用或选装的技术 (如 Java)。

    • (ix) 这些 app 必须在单个 app 套装内包含所有的语言和本地化支持。

    • 2.4.1 为了确保用户能够充分利用您的 app,iPhone app 应尽量能在 iPad 上运行。我们鼓励您考虑开发通用 app,以便用户在所有设备上都能使用。进一步了解通用 app (英文)

    • 2.4.2 通过设计,让您的 app 节省能耗,且其使用方式不会带来设备损坏的风险。App 不应快速耗尽电池电能、产生过多的热量或对设备资源造成不必要的负担。例如,app 不得鼓励在充电期间将设备置于床垫或枕头下,或对固态硬盘进行过多的写入循环操作。App 及其中显示的任何第三方广告均不可运行无关的后台进程,如加密货币挖矿。

    • 2.4.3 对于 Apple TV app,应确保用户无需使用除 Siri Remote 或第三方游戏手柄之外的硬件输入,但您可以随意提供增强功能供连接其他外围设备时使用。如果需要用户配备游戏控制器,请务必在元数据中清晰说明,以便用户知晓他们需要额外的设备才能玩游戏。

    • 2.4.4 App 不得建议或要求重新启动设备,或者修改与 app 核心功能无关的系统设置。例如,请勿鼓励用户关闭 Wi-Fi 或停用安全功能等。

    • 2.4.5 对于通过 Mac App Store 分发的 app,还有几个额外要求需要您留意:

  • 2.5 软件要求

    • (i) 集成 SiriKit 和快捷方式的 app 只能登记无需其他 app 支持便可处理的意图,而且这个意图应当与用户对所述功能的预期相符。例如,如果您的 app 属于膳食计划 app,则不应融入开始体能训练的意图,即使这个 app 共享了与健身 app 的集成也不可以。

    • (ii) 确保 plist 中的词汇和短语与您的 app 及它所登记意图的 Siri 功能相符。别名必须与您的 app 或公司名称直接相关,不得使用通用术语或者包含第三方 app 名称或服务。

    • (iii) 以最直接的方式解析 Siri 请求或快捷方式,不要在请求与实现之间插入任何广告或其他市场营销信息。只有在完成相关任务需要时 (例如让用户指定特定类型的体能训练时),才可以要求解疑。

    • 2.5.1 App 仅可使用公共 API,并且必须在当前发布的 OS 上运行。进一步了解 public APIs。及时更新您的 app,在未来的操作系统版本中不再支持的任何过时功能、框架或技术皆应被淘汰。App 使用的 API 和框架应该是为了实现预期用途,并在 app 描述中说明集成详情。例如,HomeKit 框架应提供家居自动化服务,HealthKit 则应该用于保持健康和健身目的,并集成在“健康”app 中。

    • 2.5.2 App 应自包含在自己的套装中,不得在指定容器范围外读取或写入数据,也不得下载、安装或执行会引入或更改 app 特性或功能的代码,包括其他 app。仅在特殊情况下,用于教授、开发或允许学生测试可执行代码的教育类 app 可以下载所提供的代码,但这类代码不得用于其他用途。这类 app 必须开放 app 提供的源代码,让顾客可以完全查看和编辑这些源代码。

    • 2.5.3 如果 app 传输的病毒、文件、计算机代码或程序会对操作系统和/或硬件功能 (包括推送通知和 Game Center) 的正常运行造成负面影响或导致其中断,则该 app 会被拒绝。屡教不改或恶劣的违规行为会导致开发者从 Apple Developer Program 中被除名。

    • 2.5.4 多任务处理 app 只允许在实现预期用途时使用后台服务:VoIP、音频播放、地理位置、任务完成记录和本地通知等。如果应用使用定位后台模式,请提醒用户,这么做会大幅降低电池续航能力。

    • 2.5.5 App 必须能够在仅支持 IPv6 的网络上完全正常地运作。

    • 2.5.6 如果 app 会浏览网页,则必须使用相应的 WebKit 框架和 WebKit Javascript。

    • 2.5.7 基于蜂窝移动网络且超过 10 分钟的视频流内容必须使用 HTTP 实时流化,并包含一个 192 kbps 为底线的 HTTP 实时流化。

    • 2.5.8 如果 app 会创建替代的桌面/主屏幕环境,或者模拟多 app 插件体验,则该 app 会遭到拒绝。

    • 2.5.9 如果 app 会改变或停用标准开关 (如调高/调低音量和铃声/静音开关) 的功能,或者改变或停用其他的原生用户界面元素或行为,则该 app 会遭到拒绝。例如,app 不应屏蔽转向其他 app 的链接,或用户希望以某种特定方式运行的功能。进一步了解如何正确处理链接

    • 2.5.10 不得提交包含空白广告横幅或测试广告的 app。

    • 2.5.11 SiriKit 和快捷方式

    • 2.5.12 利用 CallKit 或包含 SMS Fraud 扩展的 app 应该只拦截已确认用于发送垃圾信息的电话号码。具有通话、短信或彩信拦截功能或垃圾信息识别功能的 app 必须在营销文本中清楚标识这些功能,并且说明归入拦截列表和垃圾信息列表的标准。通过这些工具获得的数据不得用于与运行或改进您的 app 或扩展没有直接关联的任何其他目的 (例如,不得出于跟踪或创建用户资料等目的来使用、共享或销售这些数据)。。

    • 2.5.13 若有可能,使用人脸识别进行帐户验证的 app 必须使用 LocalAuthentication (英文) (而非 ARKit 或其他人脸识别技术),且必须对未满 13 岁的用户使用备用身份验证方式。

    • 2.5.14 在录像、记录日志或以其他方式记录用户活动时,app 必须征得用户的明确同意,而且要提供清晰的视觉和/或听觉指示。这亦包括任何对设备摄像头、麦克风、屏幕录像或其他用户输入方式的使用。

    • 2.5.15 能够让用户查看和选择文件的 app 应包含“文件”app 中的项目和用户的 iCloud 文稿。

    • 2.5.16 轻 App、小组件、扩展和通知应当与 app 的内容和功能相关。此外,所有的轻 App 特性和功能都必须包含在主 app 二进制文件中。轻 App 不能包含广告。