在 macOS 沙盒环境中购买自动续订订阅后,收据未得到更新。

3
我正在尝试在我的macOS应用程序中实现StoreKit的自动续订订阅功能。
阅读了几十页并检查了示例后,我理解了所有内容,但无法正确运行它。
我想做的事情是:
1. 应用启动时,通过评估本地收据来检查是否有活跃的订阅。我特别检查收据中任何一个应用内购买字段条目中没有取消日期的可用性以及订阅到期日期是否在未来。 2. 如果没有(活跃的)订阅,则使用StoreKit的API购买订阅。
这两种情况都可以正常工作,因为当订阅第一次购买时,此流程完美地运行。然而,在订阅到期日期结束后,收据不会自动更新。我期望此收据会定期更新,就像Auto-renewing subscription and app receipt所示。因此,上述第一步失败,因为某些时候到期日期在历史记录中,因此被认为已过期。
我发现两件事很奇怪:
1. 我的SKPaymentTransactionObserver实例仅在购买订阅后(用户明确购买后)被调用。当订阅到期并应自动续订时,它从未被调用(如上面的博客文章所示); 2. 明确要求使用SKReceiptRefreshRequest API更新包含IAP到期日期的收据会通过调用其request:didFailWithError:委托方法失败。错误对象为nil,因此我无法看到为什么更新失败。
我可以分享代码,但我觉得这与代码无关,而是一些我没有完全理解的项目/环境设置和/或行为。
你有什么建议可以尝试吗?
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接