Sandbox InApp Purchase 恢复以前登录的 Apple 帐户的购买

Kil*_*fer 3 storekit in-app-purchase ios app-store-connect

我正在我的 iOS 项目中实现 Apple 兼容的恢复功能。现在我遇到了以下行为(至少在沙箱模式下,最终也在生产模式下):

  1. 沙盒测试账户 A:
    • 购买产品 X
    • 购买产品 Y
  2. 注销 Sandbox Testaccount A。
  3. 在同一设备上打开一个新的应用程序(没有购买的项目)
  4. 使用 Sandbox Testaccount B 恢复应用内购买。

这将恢复我的产品 X 和 Y,尽管我还没有使用 Testaccount B 进行任何购买。

Apple 是否以某种方式跟踪帐户/设备关联,或者为什么要恢复帐户未购买的项目?

bor*_*den 5

这个问题已经快一年了,但我遇到了同样的问题,所以我想我会回答。您需要确保您总是finishTransaction在“购买”之外的任何其他状态下调用您的交易。如果不这样做,将导致事务永远卡在队列中,并且每次将事务观察者再次添加到队列时都会重复。