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

Flutter集成RevenueCat时iOS TestFlight环境无法加载订阅产品,但Debug模式正常

Flutter集成RevenueCat时iOS TestFlight环境无法加载订阅产品,但Debug模式正常

这种情况我之前帮好几个开发者排查过,大概率是App Store Connect配置、签名环境或者RevenueCat密钥的问题,咱们一步步来捋:

  • 先确认App Store Connect的订阅产品状态
    Debug模式下苹果的校验会宽松一些,但TestFlight是走准生产的完整校验流程。你得确保:

    • 订阅产品已经通过苹果审核并处于“可供销售”状态(如果是刚创建的,可能需要等几个小时甚至1天的审核周期)
    • 产品绑定的App ID和你TestFlight分发的App完全一致
    • 你的测试地区包含在产品设置的可销售地区列表里
  • 检查RevenueCat的密钥和环境配置
    别搞混了Sandbox和Production密钥!TestFlight属于准生产环境,会调用苹果的生产校验接口,所以你初始化RevenueCat时必须用后台的Production密钥,而不是Debug时用的Sandbox密钥。另外,要确认RevenueCat后台已经上传了正确的Apple共享密钥(Shared Secret),这个是苹果和RevenueCat校验的核心凭证。

  • 沙盒测试账号的地区要匹配
    如果你用沙盒账号测试TestFlight的订阅,账号的地区必须和你订阅产品的可销售地区完全一致,不然苹果会直接返回空列表。另外,沙盒账号不能是你的开发者账号本身,得去App Store Connect单独创建。

  • Xcode打包配置别漏了关键项
    打包TestFlight的Archive时,要确认:

    • Xcode的“Capabilities”里已经开启In-App Purchase权限(Debug时可能自动配置,但release打包时可能被意外关闭)
    • 打包的Bundle ID和App Store Connect里的完全一致,签名用的是App Store或Ad Hoc证书,不是开发证书
  • 用日志定位具体错误
    实在找不到原因的话,临时在release包中开启RevenueCat的 debug 日志:

    RevenueCat.setLogLevel(LogLevel.debug);
    

    然后用Xcode连接TestFlight的设备,查看控制台日志——里面会明确告诉你是产品未找到、密钥错误还是权限问题,比瞎猜高效多了。

按照这个顺序排查,90%的情况都能解决,我之前遇到最多的就是产品没审核通过或者密钥用混的问题,你先试试看?

备注:内容来源于stack exchange,提问作者Usama Karim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 17:44:52