iOS沙箱调试presentCodeRedemptionSheet提示下载App Store版应用如何解决
解决方案
你遇到的报错是沙箱环境兑换码的正常校验逻辑导致的,presentCodeRedemptionSheet()不支持直接在Xcode debug模式运行的开发包上触发测试,系统会校验应用的分发来源,本地开发签名的包无法通过校验。按照以下步骤操作即可完成测试:
- 打包并安装符合要求的测试包:
在Xcode中使用开发者证书打Ad Hoc分发包,或者将构建版本上传到TestFlight,安装到你的测试设备上。必须保证测试包的Bundle ID、版本号与你生成兑换码时对应App的参数完全匹配。 - 配置测试设备的沙箱账号:
打开测试设备的「设置」>「App Store」,下滑到最底部的「沙箱账户」模块,登录你在App Store Connect后台创建的沙箱测试账号,不要使用正式Apple ID登录。 - 执行兑换测试:
打开安装好的Ad Hoc/TestFlight版本应用,调用presentCodeRedemptionSheet()唤起兑换页,输入对应沙箱环境兑换码即可完成测试,不会再弹出要求下载正式版本的提示。
注意:需确认你使用的是App Store Connect生成的沙箱专用兑换码,生产环境的正式兑换码无法在沙箱环境下使用,也会触发类似报错。
内容的提问来源于stack exchange,提问作者Well_King
相关产品推荐
相关产品推荐

