【发布时间】:2016-05-07 22:34:17
【问题描述】:
我正在创建一个 Mac 应用,该应用具有非续订订阅作为应用内购买。我想将此数据同步到云端,原因如下:
- 我希望用户能够在其所有 Mac 上使用该应用程序
- 应用内购买启用小部件,因此小部件需要访问此数据。
- 根据 Apple 的文档,非续订订阅的恢复必须由应用程序通过某种注册/云同步来处理。
所以我决定实现一个 CloudKit 同步来存储以下数据:
- 用户购买了哪个 IAP 产品(目前只有一个值,但将来可能会改变)
- 购买发生的时间。
当用户进行应用内购买时,我现在正在执行以下操作:
- 我验证收据
- 如果我找到任何 IAP 数据,我会将其同步到 CloudKit
- 我使用一个函数从 CloudKit 获取上述小部件的购买数据
问题 1:据我所知,所有应用内购买都包含在收据文件中,即使在删除和恢复后也是如此。我可以使用它,但是文档清楚地表明我不应该使用它。连论坛都不确定……你怎么看?
问题 2:在使用多个沙盒用户测试应用程序时,我注意到无论我使用哪个沙盒用户进行购买,当前登录的 iCloud 帐户(我的个人帐户)都会将收据数据同步到 CloudKit。为什么购买者(App Store)用户没有将数据获取到他们的私有云数据库?如何测试一切正常?我是否必须退出我的 iCloud 帐户才能进行这项工作?
感谢您的宝贵时间:)
【问题讨论】:
标签: swift macos testing cloudkit