我有一个具有自动续订订阅的应用程序,购买这些订阅服务很好,但是如果用户删除应用程序并尝试在以后恢复订阅,我将无法获取&#39 ; d期待。
根据apple docs,我应该收到一份原始交易,其中包含初始交易的详细信息,在大多数情况下和沙箱上,这正是发生的情况,但是对于我们的一些客户,我们收到的实时应用程序为零originalTransaction的值。
任何人都可以想到为什么我不会收到originalTransaction回来?在[transaction transactionDate]中发回的日期与我对[[transaction originalTransaction] transactionDate]的期望相同但是我不知道如果原始事务是零,是否可以安全地假设[transaction transactionDate]将始终是originalTransaction的日期。
答案 0 :(得分:1)
我遇到了同样的问题。我通过检查原始交易是否为零返回当前交易来解决它。
这是我在- (void)restoreTransaction:(SKPaymentTransaction *)transaction
if (transaction.originalTransaction.payment.productIdentifier) {
[self provideContentForProductIdentifier:transaction.originalTransaction.payment.productIdentifier];
} else {
[self provideContentForProductIdentifier:transaction.payment.productIdentifier];
}