Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当购买确认弹出窗口可见时,付款交易状态是什么?_Ios_In App Purchase - Fatal编程技术网

Ios 当购买确认弹出窗口可见时,付款交易状态是什么?

Ios 当购买确认弹出窗口可见时,付款交易状态是什么?,ios,in-app-purchase,Ios,In App Purchase,当购买确认弹出窗口可见时,如果存在付款交易状态,则付款交易状态是什么 假设它是SKPaymentTransactionStatePurchasing,我似乎无法让它工作。枚举SKPaymentTransactionStatePurchasing是指应用商店正在处理的交易,而不是处于“购买”应用内购买状态的用户 与此相关的方法 -(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transaction

当购买确认弹出窗口可见时,如果存在付款交易状态,则付款交易状态是什么


假设它是SKPaymentTransactionStatePurchasing,我似乎无法让它工作。

枚举SKPaymentTransactionStatePurchasing是指应用商店正在处理的交易,而不是处于“购买”应用内购买状态的用户

与此相关的方法

-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

    for(SKPaymentTransaction *transaction in transactions) {
         NSString *productId = transaction.payment.productIdentifier;

    if(transaction.transactionState == SKPaymentTransactionStateFailed) {
        [self paymentTransactionFailed:transaction.error.code];
        [[SKPaymentQueue defaultQueue] finishTransaction:transaction];

    }    
    and so on for the other enums
应该从

-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {   
    if([response.products count] > 0) {
       SKProduct *product = [response.products objectAtIndex:0];

       SKPayment *paymentRequest = [SKPayment paymentWithProduct:product];
       [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
       [[SKPaymentQueue defaultQueue] addPayment:paymentRequest];
    }    
    handling more than one product in the response if necessary
只有在用户取消或确认应用内购买后才会发生


来源:

如果我理解正确,您是说警报的回调是在didReceiveResponse中处理的?因此您将得到对-(void)productRequest的回调。。。用户回答“确认购买”警报后。之后,您将调用-(void)paymentQueue。。。(我在上面做了一个编辑,以使这一点更加清楚)。