我觉得我已经在NSUserDefaults中持续进行应用内购买达到了捕获22的方案。如果用户请求退款进行应用内购买,则键值将保留NSUserDefaults,而不知道该产品已退款。
使用NSUserDefaults来存储产品数据非常棒,因为它可以避免对iTunes商店进行API调用。
为了确定是否退还了任何产品,我可以在启动时通过另一个API调用检查已完成的事务,并根据响应清理NSUserDefaults,但这会破坏使用NSUserDefaults的全部目的,并且还需要用户在第一次运行应用程序时登录iTunes,这看起来很阴暗。
有人有关于如何处理退款的建议吗?