2014-11-14 9 views
10

Ho un prodotto in esaurimento in my iTunes connect e quando sto cercando di acquistarlo due volte (sul mio iPhone), mi dice che l'ho già comprato. Ma questo è il punto principale dei materiali di consumo, che gli utenti possono acquistarli più e più volte. Eventuali suggerimenti?In acquisto di app - quando si cerca di acquistare di nuovo il prodotto di consumo - questo acquisto in-app è già stato acquistato

+0

Sto avendo un problema simile. Hai aggiustato? –

+0

@ravisendhav La risposta accettata ha funzionato per me –

+0

ma non funziona per me. Si prega di vedere il mio codice qui sotto. –

risposta

18

Ciò accade se non è stata contrassegnata la transazione per l'acquisto originale come completata, operazione che dovresti eseguire nel tuo metodo - (void)paymentQueue:(SKPaymentQueue*)queue updatedTransactions:(NSArray*)transactions dopo aver elaborato correttamente l'acquisto.

Il metodo che è necessario chiamare è [[SKPaymentQueue defaultQueue] finishTransaction:transaction].

0
public func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) { 
    for transaction in transactions { 
     switch (transaction.transactionState) { 
     case .purchased: 
      complete(transaction: transaction) 
      break 
     case .failed: 
      fail(transaction: transaction) 
      break 
     case .restored: 
      restore(transaction: transaction) 
      break 
     case .deferred: 
      break 
     case .purchasing: 
      break 
     } 
    } 
}