2009-11-13 10 views
10

estoy depuración restaurar las transacciones y en mi configuración de depuración todo funciona con normalidad:SKPayementQueue: la restauración de las transacciones acabados sin llamar '' updatedTransactions en la liberación de configuración, pero no de configuración de depuración

IE que llamo:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

algún tiempo después, los queueCalls:

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

y en algún momento después de que se llama:

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

y todos están contentos.

PERO en mi configuración de lanzamiento, nunca veo la llamada a Transactions actualizada y nunca restauro las compras.

posiblemente relacionado, después de intentar la restauración y no funciona. Reinicio la aplicación y descubro que no obtengo una respuesta cuando le pido a la tienda una lista de productos.

+1

Creo que esto es un error en el storekit. –

+1

Publicar las diferencias en su configuración de depuración/liberación ayudaría. ¿Es solo la firma del código y las optimizaciones las que son diferentes, o hay otros cambios también? –

+0

StoreKit es realmente bastante terrible; Creo que Carl tiene razón. Espero que las cosas funcionen, pero no me sorprendería si este problema persiste por un tiempo. –

Respuesta

1

Esta condición de error no tiene nada que ver con la configuración. Es un error intermitente en el kit de la tienda.

-1

¿Agrega su objeto de pago en la cola de pagos de esta manera?

SKPayment * payment = [SKPayment paymentWithProductIdentifier: "Your Product identifier"]; [[SKPaymentQueue defaultQueue] addPayment: payment];

Si está utilizando esta forma, se llamará a la acción UpdatedTransactions justo después de agregar el objeto de pago en la cola de pagos. No tiene que llamarla explícitamente. Se ha transferido por el kit de la tienda.

+0

¿Qué tiene esto que ver con el problema de restauración del OP? – Cal

1

Carl, como dijiste, parece ser un error intermitente. Sin embargo, también he descubierto que no sucede (o al menos no lo he visto todavía) si lo pruebo usando la Tienda de EE. UU. He estado usando un usuario de prueba del Reino Unido y hoy estaba fallando miserablemente cada vez. Creó un usuario de prueba de EE. UU. Y, una vez que se lo cambió a la tienda de EE. UU. Automáticamente, funciona perfectamente de nuevo. No es una solución, pero puede ser útil;)

Cuestiones relacionadas