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

App Store 审核被拒

准则 2.5.1(Software Requirements):清理 WebViewGold 项目中的权限和后台模式

WebViewGold 的 Xcode 项目支持几十种原生功能,因此附带了所有这些功能的权限说明文本。Apple 要求应用只声明它实际使用的内容。在 Info.plist 和 Capabilities 标签页里花十五分钟,就能把 2.5 拒审变成通过。

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

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

2.5 规则说了什么

第 2.5 节涵盖软件要求。2.5.1 要求应用只使用公开 API,并按其设计用途使用;审核人员把这一点延伸到应用声明了却从不使用的能力和权限。2.5.4 规定后台模式只能为其设计目的启用(音频、定位、VoIP 等)。2.5.6 要求浏览网页的应用使用 WebKit,而这正是 WebViewGold 的 WKWebView 所做的,所以这条规则站在您这边。

拒审文本通常类似 "Your app includes a usage description for Contacts but we could not find a feature that uses it"(您的应用包含通讯录的用途说明,但我们找不到使用它的功能)。Apple 的自动检查和审核人员都会查看 Info.plist 和 entitlements;一个要求 NFC 权限的菜谱应用,在两者看来都很可疑。

项目中的权限说明文本及其背后的 WebViewGold 功能

权限(Info.plist 用途说明)使用者保留条件
Tracking usage descriptionApp Tracking Transparency、AdMob始终保留。文档指出此键为必需项,删除会导致应用崩溃。即使没有广告也要保留。
相机通过相机上传文件、qrcode:// 和 barcodescanner:// 扫描器、文档扫描、手电筒您的 Web 应用有相机上传、扫描器或手电筒按钮。
照片图库(读取 / 添加)从相册上传图片、文件下载器保存图片用户会在您的应用中上传或保存图片。
使用期间的位置带原生权限的 HTML5 地理定位您的 Web 应用调用了 geolocation API。请写明功能的用途文本("用于查找您附近的健身房")。
始终定位 + Background Modes: Location updatesbackgroundlocation 选项仅当 backgroundlocation 设为 true 且有真实的后台使用场景时保留。否则两者都删除。
Face IDenableBioMetricAuth 或 bioauth:// API您使用了生物识别登录。生物识别文档列出了所需的键。
通讯录、日历、NFCContacts API、iCal API、NFC 插件您启用了对应的特定 API。否则删除。
Background Modes: AudioHTML 后台音频您的应用在最小化时播放音频(电台、播客)。否则删除。

重新提交前清理项目

  1. 删除您不需要的用途说明

    在 Xcode 中打开 Info.plist,查看每一条 "Privacy - ... Usage Description" 条目,删除不在您功能列表中的那些。保留 Tracking Usage Description。发布文档描述了这一步。

  2. 重写您保留的说明文本

    把模板文本换成用您自己的话写的用途:"扫描健身卡上的二维码以签到",而不是 "This app needs camera access"。具体的文本对准则 5.1.1 也有帮助。

  3. 检查 Signing & Capabilities

    Background Modes 应只列出您用到的:推送用 Remote notifications,Location updates 仅配合 backgroundlocation,Audio 仅用于后台播放。删除您试验时添加的能力。

  4. 关掉您不需要的提示

    如果不使用推送,把 askforpushpermissionatfirstrun 设为 false,这样就不会弹出通知对话框。如果使用推送但希望稍后再询问,同样保持 false,并在引导流程之后调用 registerpush://。

  5. 重新构建,测试每个权限对话框,提高构建号

    剩下的每个权限都应在相关功能被使用的那一刻弹出,而且只在那时弹出。然后上传新的构建版本,并在 Resolution Center 回复已删除的键列表。

只要有一个优化良好的Web应用版本,几分钟内您就能拥有一个出色的移动应用。除此之外,客户服务非常友好且乐于助人!我只能说:推荐WebViewGold :-)

朱利安·科赫(Julian Koch) · 联合创始人 Dueldonkey · CodeCanyon

其他会波及 Web 封装应用的 2.5 问题

  • 私有 API(2.5.1):只有当您让 Cursor 或 Claude Code 添加了调用未公开方法的原生 Swift 代码时才会成为问题。原生改动请限制在 Config.swift 和有文档的插件范围内。
  • 生物识别登录(2.5.13):基于面部的认证必须通过系统的 LocalAuthentication 框架,这正是 bioauth:// 和 enableBioMetricAuth 所使用的。
  • 后台模式(2.5.4):非音频应用启用了 Audio,以及"以防万一"启用的 Location updates,是最经典的命中项。

提示词:让 Claude Code 或 Cursor 审计项目

给在 WebViewGold Xcode 项目文件夹中打开的 Claude Code / Cursor 的提示词
审计这个 WebViewGold iOS 项目中未使用的权限。1) 阅读 Config.swift,列出所有已启用的原生功能(推送、生物识别、地理定位、扫描器、AdMob、文件下载、通讯录、NFC、后台音频、后台定位)。2) 阅读 Info.plist,列出所有 Privacy 用途说明键。3) 针对每个键,告诉我是否有已启用的功能需要它。4) 生成编辑后的 Info.plist,删除不需要的键,但无论如何都保留 NSUserTrackingUsageDescription。5) 重写剩余的用途说明文本,让每一条都写明我的应用中的具体功能:[描述您的应用]。6) 告诉我应删除 Signing and Capabilities 中的哪些 Background Modes 条目。不要修改项目中的其他任何内容。

常见问题

删除权限键以后会不会破坏 WebViewGold 的功能?

只影响与该键绑定的功能。如果您在以后的更新中启用二维码扫描器,就在同一次更新中把相机用途说明加回来。删除跟踪键是唯一会破坏应用本身的改动。

Apple 引用了 2.5.4,但我从没碰过后台模式。它们是从哪来的?

检查 Xcode 中的 Signing and Capabilities。可能是按照推送或定位教程操作时启用了某个后台模式。在那里删除它,重新构建并重新提交。

Cloud Builder 也有这个问题吗?

Cloud Builder 根据您在浏览器中启用的功能生成应用,因此您不必自己编辑 Info.plist。只启用您使用的功能,并为它们写好用途文本。

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

结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 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 天内提出申请。