2012-06-18 20 views
6

Estoy tratando de probar la compra en la aplicación en mi aplicación.Restauración de una compra en la aplicación con un usuario que nunca la pagó

Cuando restauro la compra en la aplicación con un usuario de prueba que compró la aplicación en la compra, todo funciona bien.

Pero cuando intento restaurar una en la compra de aplicación con un usuario que no lo hicieron hacer la compra en la aplicación antes de que esperaba el marco de llamar al siguiente método:

-paymentQueue:restoreCompletedTransactionsFailedWithError:

pero en vez el marco llama:

-paymentQueueRestoreCompletedTransactionsFinished:

como mi usuario de prueba ya ha comprado el de la compra de aplicación ....

¿Es este el comportamiento normal? Y si es así, ¿cómo pruebo a un usuario que intenta restaurar sin comprar la compra en la aplicación?

Respuesta

7

ver la respuesta aquí: iOS in-app-purchase restore returns many transactions

Vas a tener que manejarlo de observador transacción.

En resumen, se inicia con el proceso de restauración:

[[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

Luego siguiente observador transacción se llama:

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue 
{ 
    int thisIsTheTotalNumberOfPurchaseToBeRestored = queue.transactions.count; 

    for (SKPaymentTransaction *transaction in queue.transactions) 
    { 
     NSString *thisIsProductIDThatHasAlreadyBeenPurchased = transaction.payment.productIdentifier; 

     if([thisIsProductIDThatHasAlreadyBeenPurchased isEqualToString:product1ID]) 
     { 
      //Enable product1 here 
     } 
    } 
} 
1

Pruebe MKStoreKit framework https://github.com/MugunthKumar/MKStoreKit Es bastante bueno, el marco bien mantenido. Tengo algunas aplicaciones con compras en la aplicación. Nunca tuve problemas como ese.

+0

puede enviar el enlace. cómo usar estas fuentes, porque en el blog de Kumar hay una descripción compleja de cómo usarlo. ¿Hay alguna otra manera de cómo incluir estas fuentes para proyectar? pero sé que este curso es el mejor y muchos de mis amigos lo usan también. –

+0

Desafortunadamente no hay un proyecto de demostración porque tiene que configurar un par de cosas en su aplicación. Se necesitan algunas horas para que funcione, pero principalmente se trata de descubrir cómo configurar su aplicación para la compra de la aplicación. El enlace de Github es tu mejor fuente de información. La búsqueda de Google muestra una publicación de blog obsoleta. – Tibidabo

0

@Tibidabo No recomendaría MKStoreKit porque tiene un gran hole enrestore función de artículos comprados.

Cuestiones relacionadas