如何在Sandbox环境中使用Sandbox User测试IAP?
如何在Sandbox环境正确测试IAP
一、正确登录Sandbox测试账户
- 别直接在系统设置的Apple ID里登录Sandbox账户,容易引发冲突。正确操作是:触发应用内购流程后,在弹出的登录框选择「使用现有的Apple ID」,输入你在App Store Connect创建的Sandbox测试账户信息。
- 若设备之前登过真实Apple ID,先在系统设置里退出,重启设备后再触发购买流程输入Sandbox账户。
二、让Xcode运行的应用强制走Sandbox环境
- 在Xcode里打开
Edit Scheme→Run→Options,把StoreKit Configuration设为None,这样应用会自动连接Sandbox环境,而非本地Xcode的StoreKit配置。 - 如果之前配置过本地
.storekit测试文件,必须移除这个配置,否则会优先使用本地测试环境。
三、TestFlight触发Sandbox购买的正确姿势
- 用TestFlight安装测试包后,别用真实Apple ID发起购买。同样在触发购买流程时,弹出登录框后输入Sandbox测试账户,此时交易走Sandbox环境,不会产生实际扣费。
- 要是TestFlight提示「此项目无法在您的地区购买」,检查Sandbox账户的地区是否和内购项目的可用地区匹配。
四、重置Sandbox用户的购买历史
- 登录App Store Connect,进入
Users and Access→Sandbox Testers,找到目标测试用户,点击详情页的Reset Purchase History按钮,等待几分钟后,该用户的所有Sandbox购买记录会被清除,就能重新测试首次购买场景。
常见问题排查
- 若仍无法进入Sandbox环境,检查应用Bundle ID是否和App Store Connect注册的一致,且内购项目处于「准备提交」或「已批准」状态(无需上架)。
- 真机测试时,确保设备没开飞行模式,且网络能正常连接Apple的Sandbox服务器。
内容的提问来源于stack exchange,提问作者Kenny Wyland
相关产品推荐
相关产品推荐

