Flutter应用IAP在Play Store正常但TestFlight无法找到产品怎么办
核心结论
不需要将应用上传到App Store生产环境即可测试IAP功能。TestFlight运行在苹果IAP沙箱环境下,状态为「待提交」的IAP产品本身就支持在沙箱环境被正常检索、测试,产品未提交到生产不会影响TestFlight测试。
常见问题排查方向
- 校验产品ID一致性:应用内请求IAP时传入的产品ID,必须和App Store Connect后台填写的产品ID完全匹配,大小写、特殊字符、前后空格都需要完全对应,任意字符不一致都会导致检索不到产品
- 检查沙箱测试账号配置:在App Store Connect后台创建专属沙箱测试账号,在测试设备的「设置」-「App Store」底部的沙箱账户栏登录该账号,不要使用普通个人Apple ID进行IAP测试
- 核对签名与Bundle ID:确认上传TestFlight的构建包签名对应的Bundle ID,和后台创建IAP产品时绑定的Bundle ID完全一致,使用错误Bundle ID的构建包无法读取对应ID下的IAP产品
- 确认项目能力配置:Xcode中已经正确开启In-App Purchase能力,且对应的Capability已同步到打包用的配置文件中;Flutter侧建议使用官方维护的
in_app_purchase包,避免使用年久未更新的第三方IAP插件 - 补全IAP产品必填信息:后台创建IAP产品时所有必填字段(定价规则、各地区本地化名称/描述、审核用演示截图等)都要填写完整,存在必填项缺失的产品哪怕状态显示为待提交,也无法被沙箱环境检索到
- 等待配置同步生效:刚在App Store Connect后台创建或修改IAP产品后,配置最长需要24小时才会同步到沙箱环境,刚配置完成立即测试大概率会出现检索失败的问题,建议等待2~4小时后再重试
如果以上排查项全部确认无误还是无法检索到产品,可以先将当前构建版本提交到App Store审核(不需要正式发布上线),提交构建的操作会触发苹果后台刷新你的应用关联的IAP产品列表,通常提交后几小时内就能正常检索到产品。
内容的提问来源于stack exchange,提问作者rameez khan
相关产品推荐
相关产品推荐

