Apple内购沙箱用户问题:新测试账号无法正常使用
Flutter Apple IAP 问题解决方案及库迁移建议
库迁移建议
- 所有使用
flutter_inapp_purchase的开发者,请改用官方包in_app_purchase。官方包文档规范、维护及时,能避免第三方库带来的文档杂乱、集成流程模糊等问题。
沙箱测试账号不生效与错误码21005问题解决
核心问题说明
你遇到的旧沙箱账号仍被调用、错误码21005(沙箱环境验证无法完成),根源在于Apple沙箱的缓存与关联逻辑:
- Apple沙箱的扣费关联逻辑:沙箱购买记录会和设备上的应用安装实例、沙箱会话缓存绑定,和你的应用内部账号无关,只依赖设备侧的沙箱状态缓存。
- 即使切换App Store账号,旧沙箱账号的缓存可能未完全清除,导致支付请求仍用旧账号发起。
彻底重置沙箱状态的步骤
- 完全退出Apple相关账号:
进入iPhone设置 → 点击顶部你的姓名 → 选择“媒体与购买项目” → 点击“查看账户” → 退出登录,确保所有Apple账号都完全退出。 - 清除应用残留数据:
删除应用后,进入iPhone设置 → 通用 → iPhone储存空间 → 找到已删除的应用,确认彻底清除其残留缓存数据。 - 重置沙箱会话缓存:
打开设置 → 通用 → 日期与时间,关闭“自动设置”,将日期往后调整至少1天,再调回当前日期,强制刷新沙箱会话。 - 重新部署应用测试:
重新构建Flutter应用并安装到设备,发起支付时会弹出登录提示,选择你创建的darajavaherian+test1@gmail.com沙箱账号即可。
错误码21005额外排查点
- 确保验证收据时使用沙箱环境的验证地址,不要用生产环境地址验证沙箱收据。
- 检查App Store Connect中,新沙箱账号已开启沙箱测试权限,且账号地区与应用内购项目支持地区一致。

内容的提问来源于stack exchange,提问作者DaraJ
相关产品推荐
相关产品推荐

