2、 性能

  • 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 Testing”。

  • 2.3 准确的元数据

    客户应该知道他们在下载或购买您的 app 时会得到什么,所以请确保 app 的描述、屏幕快照和预览能够准确反映 app 的核心体验,并记得不断更新,以便保持与新版本相应的最新状态。

    • 2.3.1 请勿在 app 中包含未记录的功能或隐藏功能;不管是对于最终用户还是 App Review 团队,app 功能都应清晰可见。同样,您不应该在 App Store 或离线情况下,营销您的 app 中实际并不提供的内容或服务 (例如基于 iOS 的病毒和恶意软件扫描工具)。如果出现恶劣或屡教不改的行为,则可能会从 Apple Developer Program 中除名。我们正努力将 App Store 打造成值得信赖的生态系统,并希望我们的 app 开发者也能如此;如果您不诚实以待,我们之间就不会有任何业务往来。

    • 2.3.2 如果您的 app 包含 App 内购买项目,请确保 app 的描述、屏幕快照和预览清楚地指明是否有需要另行购买的精选项目、关卡和订阅等。如果您决定在 App Store 中推广 App 内购买项目,请确保App 内购买项目的显示名称、屏幕快照和描述适合所有公众,并遵循 Promoting Your In-App Purchases 中的规定;此外,您的 app 也应正确使用 SKPaymentTransactionObserver method,以便客户可以在 app 内无缝完成购买。

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

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

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

    • 2.3.6 请在 iTunes Connect 中诚实地回答年龄段分级问题,以使 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 或元数据中包含其他移动平台的名称、图标或图像,除非存在已获批的特定互动功能。

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

  • 2.4 硬件兼容性

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

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

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

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

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

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

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

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

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

    • 2.4.1 为了确保用户能够充分利用您的 app,iPhone app 应尽量能在 iPad 上运行。我们鼓励您考虑开发通用 app,这样客户就可以在所有设备上加以使用。进一步了解 Universal apps

    • 2.4.2 通过设计,使 app 节省能耗。App 不应快速耗尽电池电能、产生过多的热量或对设备资源造成不必要的负担。

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

    • 2.4.4 App 不得建议或要求重新启动设备。

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

  • 2.5 软件要求

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

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

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

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

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

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

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

    • 2.5.5 我们将在 IPv6 网络上进行审核。如果您的 app 无法与 IPv6 寻址功能兼容,则可能无法通过审核。

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

    • 2.5.7 基于蜂窝移动网络且超过 10 分钟的视频流内容必须使用 HTTP Live Streaming,并包含一个基准 192 kbps HTTP Live Stream。

    • 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 岁的用户使用备用身份验证方式。


上一篇:1、安全

下一篇:3. 业务

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程