2014-11-11 11 views
6

Sto provando a fare acquisti in-app e tutto funziona bene tranne Ripristino. Di seguito è riportato il codice che ho scritto:Ripristino acquisti in-app

func paymentQueueRestoreCompletedTransactionsFinished(queue:SKPaymentQueue!) 
{ 
    for transaction:AnyObject in queue.transactions 
    { 
     let trans : SKPaymentTransaction = transaction as SKPaymentTransaction 
     var identifier : NSString = trans.payment.productIdentifier 
     println(identifier) 
    } 
} 

Il problema che affronto ecco Non ricevo la purchased identifier qui. Penso di aver scritto male il codice.

risposta

0

Riyazul, è necessario osservare la transazione originale quando si ripristinano gli acquisti.

Il codice dovrebbe essere necessario è:

var identifier : NSString = trans.originalTransaction.payment.productIdentifier 

farmi sapere se è ancora non funziona.

+0

Ho testato il codice nella sandbox ma non ha restituire qualsiasi productIdentifier. Sto facendo il restauro con gli acquisti di consumo – TomSawyer

1

Aggiungi al di sotto di due righe di codice sul tuo scatto del tasto azione

SKPaymentQueue.default().restoreCompletedTransactions() 
SKPaymentQueue.defaultQueue().addTransactionObserver(self) 

Modifica - per Swift 3:

SKPaymentQueue.default().add(self) 
SKPaymentQueue.default().restoreCompletedTransactions() 
Problemi correlati