跳至内容
WebViewGold 从 Vibe Coding 到 App Store
中文
获取 WebViewGold

App Store 审核被拒

准则 2.3.10(其他平台):从 Web 封装应用中移除 Android 和 Google Play 相关内容

收到 2.3.10 拒审,意味着 App Review 在您的应用或商店详情页中发现了另一个移动平台:页脚里的 Google Play 徽标、描述中的“also on Android”,或者带有 Android 状态栏的截图。这是最容易修复的拒审之一,而且大部分工作是在您的 Web 应用中完成,而不是在 Xcode 里。

每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。

  • 审核通过保证 – 否则 14 天内退款
  • 无需编程
  • 一次性付费,免费更新
  • 7×24 小时人工支持
  • 2014 年起德国出品 · ISO 27001

准则 2.3.10 的规定

准则 2.3.10 要求应用专注于它所支持的 Apple 平台。除非应用拥有经 Apple 批准的特定互动功能,否则应用本身及其元数据都不应出现其他移动平台或替代应用市场的名称、图标或图像。同一条规则还要求元数据只介绍应用本身,不包含无关信息。

实际上,“Android”“Google Play”“Play Store”、APK 下载链接、Android 机器人、Pixel 或 Galaxy 设备边框以及 Android 系统栏,都不应出现在 App Store 用户能看到的任何地方,无论是应用内部还是产品页上。网页不是移动平台,桌面电脑也不是,所以一句平实的“也可以在浏览器中使用”通常没有问题。2.3.10 只是更大的元数据章节中的一条子规则,其他子规则请参阅准则 2.3 指南。

拒审消息通常怎么说

这条备注通常出现在 Performance(性能)下的 Accurate Metadata 部分。它说明应用或其元数据包含与 App Store 用户无关的第三方平台信息。审核人员通常会指出具体位置(某张截图、描述、推广文本或应用内的某个页面),并经常附上他们看到的画面截图。他们会要求您删除这些内容后重新提交。

请留意一个细节:问题是出在元数据中(在 App Store Connect 中修复),还是出在应用内部(在您的 Web 服务器上修复)?很多 2.3.10 拒审两者都会列出。

Vibe Coding 应用中的 Android 字样藏在哪里

网页页脚里的商店徽标

您的落地页在“Download on the App Store”旁边放着“Get it on Google Play”。iOS 应用加载的是同一个页脚,于是审核人员在 iPhone 应用里看到了 Google Play 徽标。

用错设备截的图

在 Android 手机上截取、在 Chrome DevTools 中用 Pixel 配置截取,或者在套用 Galaxy 边框的效果图工具中制作。Android 状态栏、导航栏或挖孔摄像头会暴露这一点。

先为 Google Play 写的商店文案

描述、推广文本或“What's New”(新功能)中仍然写着“Android”“Play Store”或“APK”。关键词字段里包含“android”是典型案例。

帮助和 FAQ 页面

AI 构建工具喜欢生成一个包含 Android 步骤的“如何安装应用”页面,或者针对 Chrome 的“添加到主屏幕”说明。审核人员能访问到的每个页面都算数。

安装提示和横幅

PWA 安装横幅、“Get the Android app”智能横幅,或营销工具添加的“Open in app”提示条,会直接出现在 iOS 应用内部。

引导和客服文案

引导轮播页、空状态或应用内聊天组件的预设回复里出现的“支持 iPhone 和 Android”。

我很高兴购买了这个应用!非常简单,文档也很棒。联系客服后,他们回复很快且非常友好,一天之内就解决了我的问题。10/10,值得推荐。

Nelis Geiger · CodeCanyon

在代码库中找出所有提及之处

大多数提及都藏在 AI 工具生成的代码里,所以与其逐页点击,不如直接搜索项目。会有一些误报,例如 CSS 中的“pixel”。存储在数据库或 CMS 中的文本(博客文章、帮助文章)不会出现在这里,请另外在那里搜索。

bash
# 在 Web 应用的根目录运行(Lovable 或 Bolt 导出的项目、Cursor 或 Claude Code 项目)
grep -rniE "android|google ?play|play\.google\.com|play store|\.apk|galaxy|pixel|samsung" \
  --include=*.{ts,tsx,js,jsx,html,md,json,vue,svelte} \
  --exclude-dir={node_modules,dist,build,.next} .

不删除网站上任何内容的修复方法

网站访客依然能看到 Google Play 徽标,只有 iOS 应用会把它隐藏起来。

  1. 给 iOS 应用一个可识别的 user agent

    在 Config.swift 中,把 useragent_iphone(如果应用在 iPad 上运行,还有 useragent_ipad)设为默认 iOS user agent 加上一个标记,例如 MyAppiOS。这样您的 Web 应用就能判断自己是否运行在 iOS 应用中,并在那里显示与平台无关的内容。Android 项目也有同样的选项(Config.java 中的 USER_AGENT),如果您希望 Android 应用也去掉 App Store 徽标,可以使用它。

  2. 在应用内隐藏徽标和 Android 文案

    把页脚徽标、“Get the Android app”横幅以及特定平台的帮助内容,包在对该标记的检测之中(代码见下文)。如果想快速修复且不改动 Web 应用,可以在 WebViewGold 项目的 custom.css 中添加一条规则,它会作用于应用加载的每个页面(自定义 CSS 和 JavaScript 文档)。custom.css 打包在二进制文件中,所以这种方式需要新的构建版本。

  3. 改写涉及平台的句子,而不是直接删掉

    “支持 iPhone 和 Android”改为“支持 iPhone 和 iPad”。“在 Android 上安装:点按菜单……”改为一个只介绍 iOS 应用的帮助页面。“在您的所有设备间同步”放在哪里都适用,也没有点名任何平台。

  4. 在 iOS 上重新截图

    把 TestFlight 版本安装到 iPhone 上(如果支持 iPad,也装到 iPad 上),或者使用所需显示尺寸的 iOS 模拟器。状态栏必须显示 iOS 的时钟和图标:不能有 Android 导航栏,也不能有 Pixel 或 Galaxy 边框。截图与详情页指南列出了所需尺寸和截图流程。

  5. 清理每一个元数据字段

    描述、副标题、推广文本、关键词、“What's New”、App 预览视频以及应用内购买项目的描述。从关键词字段中删除“android”和“google play”:它们对 App Store 搜索毫无帮助,还会违反准则 2.3.7。ASO 指南能帮您把这些空间留给真正带来安装量的关键词。

  6. 在已安装的应用中验证,然后回复

    打开 TestFlight 版本,在登录和未登录状态下分别访问页脚和菜单中的每个页面。Web 端的改动一经部署就会生效,所以如果二进制文件本身没有问题,直接在 Resolution Center 回复即可,无需上传新版本。如果您修改了 Config.swift 或 custom.css,请先上传一个构建号更高的新构建版本。

一次检测,两种输出

只检测一次应用环境,然后在各处复用这个标志。注释中的 CSS 是在无法修改 Web 应用时,用于 custom.css 的备用方案。

javascript
// Config.swift: useragent_iphone = "<default iOS user agent> MyAppiOS"
var isIosApp = navigator.userAgent.indexOf("MyAppiOS") !== -1;

// React 示例:在 iOS 应用内完全不显示商店徽标
function StoreBadges() {
  if (isIosApp) return null;
  return (
    <div className="store-badges">
      <a href="https://apps.apple.com/app/id0000000000">App Store</a>
      <a href="https://play.google.com/store/apps/details?id=com.example.app">Google Play</a>
    </div>
  );
}

/* WebViewGold 项目 custom.css 中的备用方案(作用于应用加载的每个页面):
.store-badges, a[href*="play.google.com"], .android-only { display: none !important; }
*/

哪些没问题,哪些会被标记

应用或详情页中的内容结论更好的做法
“Get it on Google Play”徽标会被标记在 iOS 应用中隐藏,网站上保留
“也支持 Android”会被标记“也支持 iPad”,或者干脆不写
带有 Android 状态栏或导航栏的截图会被标记从 iOS 构建版本中截取
关键词“android”或“play store”会被标记(2.3.10 和 2.3.7)换成描述应用用途的关键词
“在电脑上访问 yourdomain.com 即可使用”通常没问题保持信息性,不要暗示网页上价格更便宜(3.1.1)
“Sign in with Google”按钮没问题:它是登录服务,不是平台在旁边提供 Sign in with Apple(准则 4.8)
“在任何手机上和朋友一起玩”通常没问题描述功能本身,不点名平台

Resolution Center 回复模板

列出您删除了什么、在哪里删除的,让审核人员一分钟就能逐项核对。模板保留英文,因为 Apple 审核人员阅读的是英文。

Resolution Center 回复(替换方括号中的部分)
Hello App Review team,

Thank you for reviewing [App name], version [1.0] ([build number]).

We have removed all references to other mobile platforms, as requested under Guideline 2.3.10:

1. Screenshots: all screenshots were replaced with captures from the iOS build on [iPhone display size] [and iPad display size]. They show the iOS status bar and no other device frames.
2. Metadata: the description, promotional text, keywords and What's New text no longer mention Android or Google Play.
3. Inside the app: the Google Play badge in the footer, the "Get the Android app" banner and the Android section of the help page are no longer shown in the iOS app. This content is served by our web server, so the change is already live in the build under review. [Or: build [number] contains this change.]

To verify, please scroll to the footer on [Home] and open [Menu > Help].

If anything else should be changed, please let us know and we will fix it right away.

Best regards,
[Name]
[Company], [email]

重新提交前的检查清单

  • 搜索覆盖了代码库以及数据库或 CMS 内容;每一处命中都已在应用中隐藏或改写。
  • 已在 TestFlight 版本上检查页脚、菜单、帮助中心、引导流程和空状态,登录和未登录状态都检查过。
  • 描述、副标题、推广文本、关键词和“What's New”中没有 Android、Google Play、Play Store 或 APK 字样。
  • 截图和 App 预览均从 iOS 构建版本录制,没有 Android 系统栏或设备边框。
  • 应用图标中不含任何平台图像。
  • 第三方组件(聊天、Cookie 横幅、智能应用横幅)在应用内不显示 Google Play 提示。
  • Resolution Center 回复列出了每一项改动及其查看位置。

常见问题

我可以提到我的应用也能在网页浏览器中使用吗?

通常可以。网页和桌面电脑都不是移动平台,像“您的数据会与网页版同步”这样的简短说明很常见。保持信息性即可,绝不要用它把购买引导到网站上,那属于准则 3.1.1 的范畴。

“Sign in with Google”按钮算 2.3.10 问题吗?

不算。Google 登录是一种登录服务,不是移动平台。不过它会触发准则 4.8,该准则要求在旁边提供一个同等的、注重隐私的选项,例如 Sign in with Apple。

我的截图来自 Android 手机,但应用看起来完全一样。这真的有问题吗?

有问题,只要能看到任何 Android 元素:状态栏图标、导航栏或设备边框。审核人员会把截图与已安装的应用进行比对,Android 系统界面会立刻被判定为 2.3.10 问题。请改为从 iOS 构建版本中截取。

2.3.10 拒审后需要新的构建版本吗?

只有当修复涉及二进制文件时才需要,例如修改了 Config.swift 中的 user agent,或者添加了新的 custom.css。元数据在 App Store Connect 中编辑,Web 应用的改动一经部署就会生效,所以在这些情况下,在 Resolution Center 回复就足够了。

“经批准的互动功能”这个例外指的是什么?

范围很窄。它针对的是拥有与其他平台协同工作的真实功能的应用,由 App Review 逐案决定。仅仅“也有 Android 版”并不符合条件。如果您认为您的应用有这样的功能,请在审核备注中加以说明。

让您的应用上架商店的三种方式

结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。

自己动手

$109 每个平台,一次性付费

WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。

在主页查看方案

Cloud Builder

$349 每个许可证,一次性附加购买

无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。

Cloud Builder 如何运作 试用免费演示

Full Service

$698 每个平台 $798

把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。

Full Service 详情 服务提供方: WeSetupYourWebViewApp

冬季特惠价格有效期至 2026年12月31日。

准备好发布您的应用了吗?

App Store & Google Play 审核通过保证 – 否则 14 天内退款

想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。

退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。