2

アプリ購入で実装していました。すべて順調に進んでいますが、私のフローは常に SKPaymentTransactionStatePurchasing で停止します: 理由を知っている人はいますか?. 助けてください。

   - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
  {
NSLog(@"transactions........%@",transactions);
NSLog(@"transactions count........%d",[transactions count]);
NSLog(@"transactions description ........%@",transactions.description);

  [[SKPaymentQueue defaultQueue] removeTransactionObserver:self];

for (SKPaymentTransaction *transaction in transactions)
{
    switch (transaction.transactionState)

    {
        case SKPaymentTransactionStatePurchased:
            [self completeTransaction:transaction];
            [[SKPaymentQueue defaultQueue] finishTransaction: transaction];
             break;
        case SKPaymentTransactionStateFailed:
            [self failedTransaction:transaction];
            [[SKPaymentQueue defaultQueue] finishTransaction: transaction];
            break;
        case SKPaymentTransactionStateRestored:
            [self restoreTransaction:transaction];
            [[SKPaymentQueue defaultQueue] finishTransaction: transaction];
            break;
        case SKPaymentTransactionStatePurchasing:
            NSLog(@"purchasing");
         //   [self completeTransaction:transaction];
            break;
        default:
            NSLog(@"default case");
            break;
    }
   }
  }
4

1 に答える 1

2

これはおそらく、次のように呼び出しているために発生しています。

[[SKPaymentQueue defaultQueue] removeTransactionObserver:self];  

これを呼び出すことで、トランザクションに対する追加の更新がアプリに通知されなくなります。この行を削除してみてください。

于 2013-10-02T05:19:06.317 に答える