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

Flutter IAP沙盒模式下productDetailResponse.productDetails为空求助

应用内购买(IAP)沙盒模式产品不显示问题排查

我通过in_app_purchase包在模拟器上借助StoreKit能正常测试应用内购买,但在设备上以沙盒模式测试时,App Store Connect中配置的产品无法加载,productDetailResponse.productDetails.isEmpty返回true。补充信息:Apple开发者账户已签署所有协议,「付费应用」状态为Active,产品截图如下:
产品截图

调试in_app_purchase_storekit包未发现错误,日志无有效排查线索,现针对以下问题逐一解答:

1. 产品处于Drafts状态是否有影响?

  • 有直接影响。处于「草稿」状态的产品未完成所有必填配置项,App Store Connect不会将其同步到沙盒环境,因此沙盒无法获取这类产品的信息。必须完成产品的所有必填配置(如价格、描述、本地化内容等),将状态推进至至少Ready to submit,沙盒才能识别到该产品。

2. 产品处于Ready to submit状态是否有影响?

  • 无影响。Ready to submit状态的产品已完成全部必要配置,App Store Connect会自动同步到沙盒环境,沙盒应该能正常获取产品信息。若此时仍无法加载,问题大概率不在产品状态本身。

3. 若以上都不是,可能的问题是什么?

  • Bundle ID 不匹配:确认Xcode项目的Bundle ID与App Store Connect中应用的Bundle ID完全一致,包括大小写和特殊字符。
  • 沙盒测试账号异常:使用的沙盒账号需与产品配置的区域匹配,且账号未被禁用。测试前需退出设备上的正式Apple ID,通过「设置」→「App Store」→「沙盒账户」添加并登录测试账号,不要直接在App Store登录。
  • 网络访问限制:沙盒环境需要稳定访问Apple的沙盒服务器,部分网络环境可能存在访问限制,可尝试切换网络测试。
  • 产品ID 拼写错误:代码中请求的产品ID必须与App Store Connect中配置的产品ID完全一致,注意大小写、下划线等细节。
  • StoreKit 能力未配置:检查Xcode项目是否已开启「In-App Purchase」能力,且对应的配置文件包含该权限。
  • 设备缓存问题:设备可能缓存了旧的产品数据,尝试重启设备或删除应用重新安装后再测试。
  • 区域设置不匹配:确保设备的系统区域设置与产品配置的可用区域一致,若产品仅对特定区域开放,设备区域不符则无法获取产品信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:20:30