SKPaymentTransaction:什么是transactionDate?

在Apple的文档中, transactionDate是:

事务添加到App Store的支付队列的日期。 (只读)

我只是想澄清在以下情况下transactionDate的内容:

  1. 在时间T1购买的东西(transactionDate是T1?)
  2. 在时间T2恢复购买(transactionDate是T2还是T1?)
  3. originalTransaction恢复的事务,是它的transactionDate T1还是T2?

谢谢!

  1. 在时间T1购买的东西(transactionDate是T1?)

是。 transactionDate是T1。 关注apple的文档:

transactionDate:事务被添加到App Store的支付队列的日期。


  1. 在时间T2恢复购买(transactionDate是T2还是T1?)

无所谓。 如果transactionState设置为SKPaymentTransactionStateRestored ,则应阅读originalTransaction 。 关注apple的文档:

originalTransaction:除非将transactionState设置为SKPaymentTransactionStateRestored,否则此属性的内容是未定义的。 恢复事务时,当前事务将保留新的事务标识符,收据等。 您的应用程序将读取此属性以检索已还原的事务。


  1. originalTransaction恢复的事务,是它的transactionDate T1还是T2?

T1。

1)如果transactionStateSKPaymentTransactionStatePurchased transactionDate始终为T1

2)如果transactionStateSKPaymentTransactionStateRestored transactionDate是T2或T3(恢复日期)

3)originalTransaction.transactionDate它总是T1