iOS应用内购测试报错:无法获取storeProducts(错误码511)
解决ASDErrorDomain Code=511内购商品获取失败问题
ASDErrorDomain Code=511本质是内购商品的元数据无法被StoreKit正常拉取,结合你已排查的点(Product ID一致、证书、网络、真机测试),可以从以下几个方向继续排查:
1. 确认App Store Connect内购商品状态
- 检查目标内购商品的状态:必须是**"准备提交"或"已批准"**,处于"等待审核""被拒绝"状态的商品无法被测试环境获取。
- 核对商品绑定的App ID:确保商品属于当前开发的应用,没有误关联到同账号下的其他应用。
2. 重置StoreKit配置文件与本地缓存
- 删除项目中已有的
.storekit配置文件,重新从App Store Connect同步:Xcode菜单栏选择Editor->Import from App Store Connect,重新选择对应应用和商品。 - 清理Xcode构建缓存:执行
Cmd+Shift+K清理项目,再用Cmd+Option+Shift+K清理构建文件夹。 - 模拟器重置:打开模拟器的
设置->App Store,退出登录后重启模拟器,再重新运行项目。
3. 验证RevenueCat配置细节
- 检查RevenueCat后台的App Store Connect API密钥:确保密钥有效、未过期,且权限包含内购相关操作(需开启"In-App Purchase"权限)。
- 确认RevenueCat的沙箱模式已开启:测试环境下必须启用沙箱模式,避免调用正式环境接口。
4. 真机测试的额外检查
- 必须使用沙箱测试账号登录真机的App Store,不能用普通Apple ID,否则会触发正式环境的访问限制。
- 若使用StoreKit 2 API,确认代码适配了iOS 17+的新逻辑,比如正确处理
Product的异步请求流程。
5. Xcode账号配置核对
- 确认Xcode设置中登录的Apple ID属于应用所属的Team,且在
Xcode->Settings->Accounts中选中了正确的开发团队。
附错误日志参考
[d9e4_SK1] Finished product request with error Error Domain=ASDErrorDomain Code=511 "(null)"
ERROR: 🍎‼️ Store products request failed! Error: Error Domain=SKErrorDomain Code=0 "An unknown error occurred" UserInfo={NSLocalizedDescription=An unknown error occurred, NSUnderlyingError=0x30287d8c0 {Error Domain=ASDErrorDomain Code=511 "(null)"}}
内容的提问来源于stack exchange,提问作者Anokhi Shah
相关产品推荐
相关产品推荐

