EAS构建iOS应用中react-native-iap getProducts()返回undefined问题求助
使用EAS构建的iOS应用react-native-iap问题排查求助
问题现象
- 调用
getProducts({skus: ['Credits30']})意外返回undefined; - 调用
requestPurchase({ sku: 'Credits30' })报错:Invalid product ID。
已验证的配置项
税务与账户
- 拥有有效的付费Apple开发者账户;
- 已激活免费及付费应用协议;
- 已在App Store Connect中提交税务与银行信息。
应用配置
- 在App Store Connect中创建了应用,App ID与项目配置匹配;
- EAS构建的bundle ID与App Store Connect中的一致;
- 应用配置文件已启用内购权限;
- App Store Connect中的内购项目状态为Ready to Submit。
客户端实现
- 使用的产品ID与App Store Connect中创建的完全一致;
- 内购项目创建后已等待多日,确保Apple侧完成同步;
- 在调用
getProducts/requestPurchase前已调用initConnection,且该方法返回true; - 模拟器及真机开发构建环境下均出现相同问题。
疑问与待解答的问题
- 应用状态为Prepare for Submission时能否正常获取内购产品,还是必须处于审核或已发布状态?
- 是否需要在
app.config.js中添加特定的IAP相关配置? - 是否存在遗漏的
eas.json配置项会影响内购功能? - 沙箱测试是否是正常获取产品的必要条件?如果是,在EAS构建的应用中如何添加沙箱测试员(当前设备的设置>App Store中无对应选项)?
当前使用版本
- React Native: "0.72.4"
- react-native-iap: "^12.10.7"
- Expo: "^49.0.10"
内容的提问来源于stack exchange,提问作者Diego Olalde
相关产品推荐
相关产品推荐

