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

iOS StoreKit2生成IPA后内购订阅无法加载问题求助

应用内购IPA安装后订阅列表为空的问题排查与解决

核心原因

Xcode直接安装应用时,会读取本地.storekit文件中的测试数据,所以能正常获取订阅;但IPA安装后(无论是Ad Hoc还是TestFlight分发),App会连接真实的App Store服务器,而你当前的订阅处于「可提交」状态——这个状态的订阅未经过苹果审核,无法在生产/沙箱生产环境被获取到,因此Product.products(for:)返回空数组。

解决步骤

  • 更新订阅状态并提交审核:在App Store Connect中将订阅状态改为「准备提交」,完成所有必填信息后提交审核。只有审核通过的订阅,才能在分发版IPA中被正常获取。
  • 确认签名与配置文件权限:检查IPA使用的Provisioning Profile是否包含应用内购买的权限,且测试设备已添加到该配置文件中。签名错误会导致App无法正常调用StoreKit接口。
  • 验证产品ID一致性:再次核对productIdToEmoji.keys中的所有ID,确保和App Store Connect中订阅的产品ID完全一致(大小写、前缀均不能出错)。
  • 用TestFlight+沙箱账号测试:如果需要在审核前测试分发版的内购功能,可将IPA上传到TestFlight,使用沙箱测试账号登录设备,此时App会连接沙箱服务器,能获取到未上架但已配置完成的订阅产品。

关于.storekit文件上线的说明

保留项目中的.storekit文件并同步套餐是可以正常上线的:

  • 上线后,App会优先从App Store服务器拉取真实的产品数据,.storekit文件仅作为Xcode调试阶段的本地测试数据源,同时也是产品配置的备份。
  • 后续若在App Store Connect中修改订阅套餐,需及时同步更新项目中的.storekit文件,保证调试环境的产品数据与线上一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 06:23:18