2

を使用して完了していないので、私はこのIDでアプリ内購入しようとしたとき、私はこのメッセージを得た:トランザクションは、私は私のアプリで取引を終えていないSKPayment

アプリの購入で

これは、すでにそれはします買ってきました を無料で復元する

私が[OK]ボタンを押すと、デリゲートメソッドが呼び出されませんでした。

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

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { 
} 

どうすればこの取引を完了できますか?

+0

あなたが購入した場所を見ていますが、仕上げの前にアプリを再起動している場合はありますか? –

答えて

2

ユーザーが何かを購入しようとすると、まずその購入が既にキューに入っているかどうかを確認してください。

BOOL alreadyInProgress = NO; 
for (SKPaymentTransaction *tx in [[SKPaymentQueue defaultQueue] transactions]) 
{ 
    alreadyInProgress |= [tx.transactionIdentifier isEqualToString:productId]; 
} 
if (alreadyInProgress) 
{ 
    // Alert that the purchase is already active 
} 
else 
{ 
    // Your purchase flow 
} 
関連する問題