Xcode 14 StoreKit沙盒下删除App后如何测试内购恢复?
Xcode 14 StoreKit沙盒测试恢复内购场景的解决方法
方法一:用官方沙盒账号替代本地调试数据
- 别依赖Xcode Debug>StoreKit里的本地临时数据,直接用App Store Connect创建的正式沙盒测试账号完成购买流程
- 删除App后重新安装,用同一个沙盒账号登录,点击恢复内购按钮,系统会从苹果服务器拉取该账号的已购记录,完全模拟真实用户的恢复场景
方法二:使用持久化StoreKit配置文件
- 通过
File > New > File搜索并创建.storekit配置文件,在文件内添加你的非消耗型内购项目 - 进入项目Build Settings,将
StoreKit Configuration选项设置为这个新建的配置文件 - 完成购买后直接删除App,不要去Debug>StoreKit里清除数据,重新编译运行时,配置文件的持久化数据会保留(注意:别用模拟器的“Erase All Content and Settings”,仅删除App即可)
- 重新打开App调用恢复内购API,就能读取到之前的购买记录
方法三:手动模拟恢复逻辑(快速验证代码)
- 开发时可以把购买状态标记存在钥匙串(Keychain)里,因为钥匙串数据不会随App删除而消失
- 删除App前,通过调试控制台或临时代码将购买状态写入钥匙串
- 重新安装后,恢复内购逻辑可以先检查钥匙串标记,同时调用官方恢复API,既能测试本地逻辑,也能验证和苹果服务器的交互
内容的提问来源于stack exchange,提问作者Lena Verhoev
相关产品推荐
相关产品推荐

