You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

App因Guideline 2.1被拒:未提交内购产品,需移除StoreKit遗留代码?

解决App因遗留StoreKit代码被App Store审核拒绝的问题

我之前也碰到过类似的审核拒登情况,给你梳理下核心问题和对应的解决步骤:

核心结论

你需要同时处理遗留StoreKit代码和App Store Connect内购配置,两者都可能导致这次的2.1审核拒绝。

一、必须移除所有StoreKit相关遗留代码

Apple的审核系统会深度扫描App的二进制文件,哪怕你没在Capabilities里启用In-app purchases,只要代码中存在StoreKit相关的API调用、框架导入,审核团队就会默认你的App包含内购功能,进而检查对应的内购产品是否已提交。哪怕这些代码是遗留的、实际不会被触发,只要存在就会触发审核逻辑:

  • 彻底删除所有import StoreKit(Swift)或#import <StoreKit/StoreKit.h>(OC)的导入语句;
  • 移除所有StoreKit相关的代码逻辑,比如SKPaymentQueue的监听、SKProductRequest的请求、内购相关的弹窗/按钮等;
  • 顺便清理掉App中没用的内购相关文案,比如"订阅会员"、"解锁完整版"这类和内购绑定的字符串。

你可以用命令行验证是否清理干净:打包后找到App的二进制文件,运行

otool -V 你的App二进制文件路径 | grep StoreKit

如果没有任何输出,说明StoreKit相关符号已经清理完毕。

二、检查并清理App Store Connect中的内购配置

如果你的App Store Connect后台曾经创建过订阅组或内购产品,但没有提交审核,或者没有删除,也会触发2.1的拒绝:

  • 登录App Store Connect,进入你的App页面,找到「功能」-「内购项目」;
  • 如果存在未提交审核的订阅组、内购产品,或者已经创建但不再需要的项目,直接删除;
  • 确认所有内购相关的配置都已清理完毕,没有残留的待审核项目。

三、提交前的最后验证

  1. 再次检查Xcode中App的Capabilities页面,确保「In-app purchases」处于关闭状态;
  2. 重新打包,确认二进制文件中无StoreKit相关符号;
  3. 确认App Store Connect中无任何内购相关的未完成配置。

按照上面的步骤处理后,重新提交审核应该就能通过了。

内容的提问来源于stack exchange,提问作者Ellen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:55:01