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

仅在iOS15及以上使用StoreKit2时是否必须提供恢复购买选项?

结论先行

即便你的App最低部署目标为iOS 15、仅接入StoreKit 2,依然被强制要求提供手动恢复购买的入口,不要删除恢复购买按钮。


具体依据
  • 首先要明确WWDC提到的StoreKit 2自动同步能力的边界:它确实能覆盖99%以上的常规场景——包括用户重装App、更换同Apple ID的新设备、跨设备权益同步等,App启动后会自动拉取已验证的交易信息,普通用户完全不需要手动操作恢复。但它覆盖不了所有异常情况:比如本地交易缓存损坏、家庭共享权益首次加载失败、系统隐私权限拦截了后台同步请求、跨区购买后交易状态不同步等,这些极端场景下必须靠手动触发恢复流程才能拉取到正确的交易信息。
  • 苹果的审核规则从未对StoreKit 2开绿灯:App Store审核指南3.1.1条款关于内购的要求始终明确,所有提供可恢复内购类型(非消耗品、自动续期订阅、非续期订阅)的App,必须为用户提供可感知的恢复购买入口。大量开发者的实际踩坑经验也能验证:删掉恢复按钮的App几乎100%会被审核打回,拒审理由会明确标注“未提供恢复已购项目的能力,不符合条款要求”。
  • StoreKit 2的手动恢复实现成本极低:你不需要写复杂的兼容逻辑,直接调用系统提供的AppStore.sync()接口即可,这个接口会主动向App Store服务端拉取当前用户Apple ID下所有最新的有效交易,触发你已经实现好的交易监听回调,和系统自动同步的底层逻辑完全一致,只是把触发权交给用户,不存在额外的兼容风险。同时系统自带接口调用频率限制,不需要担心用户恶意点击触发异常。

注意不要误读WWDC的表述:所谓“需要手动恢复的场景极为罕见”是从用户体验角度出发的结论——也就是绝大多数用户正常使用时不需要手动点这个按钮,不代表开发者可以直接移除这个兜底入口。这个按钮的定位是异常场景兜底,哪怕只有千分之一甚至万分之一的用户会用到,你也必须保留。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 02:01:25