有时我会收到此回调
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
即使在我收到此
之前- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
我甚至不会说finishTransaction:
。我发现这个超级怪物。我一直假设在将每个未完成的事务标记为已完成之前不会触发paymentQueueRestoreCompletedTransactionsFinished:
。
这是预期的行为吗?
这是我在文档中找到的
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue Description
告诉观察者支付队列已完成发送已恢复的事务。之后调用此方法 所有可恢复的交易都已由付款队列处理。 您的申请不需要在此方法中执行任何操作。
我不确定这意味着什么。
答案 0 :(得分:0)
我发现头文件本身在这部分最清楚。
@interface SKPaymentQueue : NSObject
...
// Array of unfinished SKPaymentTransactions. Only valid while the queue has observers. Updated asynchronously.
@property(nonatomic, readonly) NSArray *transactions;
@end
@protocol SKPaymentTransactionObserver
// Sent when all transactions from the user's purchase history have successfully been added back to the queue.
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
...
@end
这两个结合使它明确无误。
paymentQueueRestoreCompletedTransactionsFinished
将所有交易添加到StoreKit
后,系统会触发SKPaymentQueue
。 -[SKPaymentQueue transactions]
只有未完成的交易清单。
我认为文档本可以更明确。