2010-10-08 637 views
6

Tengo una solución completa de compra de la aplicación, pero me pregunto si estoy manejando los errores correctamente. Manejo los errores usando un código similar al ejemplo de Apple aquí;iphone in-app purchase: ¿Por error, de quién es la responsabilidad de notificar al usuario?

- (void) failedTransaction: (SKPaymentTransaction *)transaction 
{ 
if (transaction.error.code != SKErrorPaymentCancelled) 
    { 
     // Optionally, display an error here. 
    } 
    [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 
} 

Pero mi pregunta es - ¿Será el display storekit errores relevantes para el usuario (no puede conectarse, rechazó el pago, etc) o tengo que manejar siempre esto? Parece de la prueba que cuando el storekit funciona bien, de hecho maneja los errores, por lo que puedo volcarlos en silencio (bueno, de hecho los registramos en otro servidor).

Sin embargo, cuando el sandbox storekit se está reproduciendo, obtenemos errores aleatorios que indican un problema, y ​​NO hay alertas del propio storekit.

¿Qué hacen con los errores? Siempre alerta al usuario o terminará por duplicar las alertas que el storekit ya ha dado.

Gracias Roger

+0

Al escanear la documentación, tengo la impresión de que se espera que usted maneje todos los errores, con la excepción de las transacciones canceladas. – blueberryfields

Respuesta

0

Es responsabilidad de la aplicación para controlar los errores.

El sistema operativo no muestra un mensaje porque lo que el sistema operativo no puede saber con certeza es qué mensaje mostrar o mostrar en absoluto (en lugar de, por ejemplo, eliminar un elemento de una tabla).

+0

Hola, Ollie - ¿usas storekit? Lo pregunto porque el sistema operativo muestra muchos errores en el storekit por sí mismo. – Roger

+0

Roger: Sí, estamos usando storekit en varias aplicaciones. Tal vez malinterpreté tu pregunta, pero los documentos de Apple son bastante claros sobre cuándo tu código está manejando cosas y cuándo le has entregado el control al SK. ¿Hay problemas específicos que estés teniendo? Tal vez dar detalles. – Olie

0

Puedo confirmar que debe manejar este tipo de errores usted mismo. Tengo un juego habilitado para StoreKit en la App Store. Ver http://www.appulize.com/index.php?cID=80

Tomé el enfoque simple para mostrar un UIAlert cuando algo sale mal.

Cuestiones relacionadas