我有一个使用应用内购买(IAP)的应用,特别是自动续订的订阅。
有时候,当订阅自动更新时,本地收据不会自动更新。结果,在本地检查活动订阅是否可用将导致错误。远程(使用Apple服务器)执行相同的验证会返回true。
如何以及何时更新本地存储的收据,或者这只能手动触发?如果是这样,是否需要使用SKReceiptRefreshRequest或SKPaymentQueue's restoreCompletedTransactions来实现?根据Apple的文档,前者似乎是可行的方法:
刷新收据的请求,该收据代表用户与您的应用之间的交易。
不幸的是,这失败了,也许是因为它认为需要更新吗?但是有:由于本地收据已过期,因为它不包含更新的订阅状态。
我想确保自己做的正确,并且这种行为(偶尔再次发生)不是苹果的责任。
感谢您的任何反馈。