Sono ripristino transazioni completate (ricorrente) conpaymentQueueRestoreCompletedTransactionsFinished: vs updatedTransactions:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
e in
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
ho ottenuto un elenco delle transazioni storia restaurata, fatta da l'applicazione, ma il metodo :
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
non viene nemmeno chiamato una volta, quindi mi chiedo quale dovrei e? Ho fatto qualche ricerca e ho scoperto che il metodo updatedTransactions:
dovrebbe essere usato con il controllo dello stato della transazione, ma se ho ottenuto un elenco di transazioni ripristinate, è semplicemente inutile trattarle tutte come transazioni. Quale dovrei usare? Il numero paymentQueueRestoreCompletedTransactionsFinished
mi dà solo l'ultimo (l'abbonamento alla sandbox scade tra diversi minuti e ho ottenuto un elenco completo delle transazioni cronologiche effettuate durante il test, in updatedTransactions
).
Sì, ma quello che ho ottenuto è più di 1 transazione ripristinata per lo stesso ID prodotto, quindi devo usare la transazione con il più recente transactionDate? – hzxu
Hmm che non dovrebbe accadere ... Questo probabilmente significa che, in precedenza, la transazione non era stata completata con 'finishTransaction:'. Riavvolgerei la tua app (pulire la build e cancellare i dati da iOS Simulator) per sbarazzarmi delle transazioni in coda. Prima di farlo però, dove stai configurando il tuo 'TransactionObserver'? – Ephemera
Forse manca un'interruzione nel caso SKPaymentTransactionStatePurchasing? – neoneye