NSString*)productIdentifier user:(NSString*)userIdentifier success:(void (^)(SKPaymentTransaction *transaction))successBlock failure:(void (^)(SKPaymentTransaction *transaction, NSError * @implementation IAPReceiptVerificator - (void)verifyTransaction:(SKPaymentTransaction*)transaction
SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions; -(void) PurchasedTransaction: (SKPaymentTransaction *)transaction; - (void) completeTransaction: (SKPaymentTransaction *)transaction; - (void) failedTransaction : (SKPaymentTransaction *)transaction; -(void) paymentQueueRestoreCompletedTransactionsFinished: (SKPaymentTransaction )provideContent:(NSString *)product{ NSLog(@"-----下载--------"); } - (void) failedTransaction: (SKPaymentTransaction *)transaction{ } - (void) restoreTransaction: (SKPaymentTransaction *)transaction { NSLog(@" 交易恢复处理
SKPaymentQueue *)queue updatedTransactions:(NSArray *)transaction{ [IHUtility removeWaitingView]; for(SKPaymentTransaction default: break; } } } //交易结束 - (void)completeTransaction:(SKPaymentTransaction
SKPaymentTransactionObserver { func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction } } }}```objectivec(void)paymentQueue:(SKPaymentQueue )queue updatedTransactions:(NSArray<SKPaymentTransaction > )transactions {for (SKPaymentTransaction transaction in transactions) {switch (transaction.transactionState
orderId等信息,但是在iOS14这个字段会丢失 - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction
SKPaymentQueue defaultQueue].transactions; if (transactions.count >= 1) { for (SKPaymentTransaction transaction{ NSLog(@"监听AppStore支付状态"); dispatch_async(dispatch_get_main_queue(), ^{ for(SKPaymentTransaction }); }]; [altert show]; } //交易结束 - (void)completeTransaction:(SKPaymentTransaction
SKPaymentTransactionObserver 代理方法- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions { for (SKPaymentTransaction *transaction in transactions) { switch (transaction.transactionState default: break; } }}#pragma mark - 处理交易结果- (void)completeTransaction:(SKPaymentTransaction 从队列中移除 [[SKPaymentQueue defaultQueue] finishTransaction:transaction];}- (void)failedTransaction:(SKPaymentTransaction 从队列中移除 [[SKPaymentQueue defaultQueue] finishTransaction:transaction];}- (void)restoreTransaction:(SKPaymentTransaction
)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transaction{ for(SKPaymentTransaction default: break; } } } //交易结束 - (void)completeTransaction:(SKPaymentTransaction
paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction break case .purchasing: break } } } private func complete(transaction: SKPaymentTransaction SKPaymentQueue.default().finishTransaction(transaction) } private func restore(transaction: SKPaymentTransaction SKPaymentQueue.default().finishTransaction(transaction) } private func fail(transaction: SKPaymentTransaction
void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transaction { for (SKPaymentTransaction - (void)completeTransaction:(SKPaymentTransaction *)transaction { NSString * str = [[NSString
在 paymentQueue(_:updatedTransactions:) 方法回调的 SKPaymentTransaction 中有一个属性 SKPaymentTransactionState ,当状态为