2012-04-06 8 views
9

Sto lavorando a un gioco iphone con acquisti in app. Sto cercando di recuperare gli acquisti precedenti dei miei utenti sandbox chiamando restoreCompletedTransactions, ma non viene attivato alcun callback.In App Acquisisce Sandbox Testing - Gli utenti sandbox vecchi continuano a richiedere

Ho letto online da altre persone che hanno avuto problemi simili per eliminare l'utente sandbox e provare a crearne uno nuovo. Ho provato a eliminare e creare nuovi utenti di test più volte nel corso di un mese circa (alcuni utenti segnalano che si tratta di server sandbox di Apple) ma non ho avuto fortuna.

Ecco la cosa strana, ogni volta che vengono richieste le credenziali utente sul mio iphone quando effettuo la chiamata di ripristino, viene richiesto per tutti i miei precedenti account sandbox che abbia mai provato. È molto strano, perché li ho cancellati da ITunesConnect e ho anche effettuato l'accesso su App Store sulle mie impostazioni IPhone.

Ho anche provato a ripristinare il mio IPhone - non ha funzionato neanche.

risposta

5

Una volta aggiunto un osservatore di transazioni, iOS verificherà la coda predefinita se c'è una transazione non completata (il che significa che non l'hai completata), quindi mostrerà la casella di avviso ogni volta che c'è una transazione finché non la finisci anche se non hai fatto alcuna azione per aggiungere un nuovo pagamento. quindi prova a chiamare la transazione di finitura per tutte le transazioni che sono attualmente bloccate sulla coda.

+1

Come si può terminare una transazione per un utente che non esiste più? –

+0

OK. Mi sono sbarazzato della maggior parte di loro codificando a fondo un 'finishTransaction' in' paymentQueue: updatedTransactions: '. Non stavano terminando normalmente, perché per gli utenti eliminati, i file di download non venivano consegnati dai server Apple. Mi sembra di averne ancora uno, ma non riesco a trovare alcuna informazione su di esso. Ricevo un prompt di accesso ma non più transazioni. nel metodo sopra. C'è un altro metodo che dovrei controllare? –

+0

Ciao @VictorEngel .. in alcuni casi ho scoperto che la coda di default non è vuota fino a quando non eseguo un reset completo del dispositivo su cui sto lavorando, forse questa soluzione sarà utile per te. –