2012-04-12 18 views
14

Tengo algunos problemas para restaurar las transacciones completadas.Obj-C, Storekit restoreCompletedTransactions devuelve cero transacciones?

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

He añadido el observador mencionado en varios ejemplos, he intentado añadir paymentQueueRestoreCompletedTransactionsFinished y ya tienen updatedTransactions. paymentQueueRestoreCompletedTransactionsFinished dice que tengo cero transacciones.

Puedo comprar un producto y si trato de volver a comprarlo, me detiene y dice que ya he comprado el producto, usando este código.

SKPayment *payment = [SKPayment paymentWithProductIdentifier:productIdentifier]; 
[[SKPaymentQueue defaultQueue] addPayment:payment]; 

pensé que tal vez tuve un problema con mi identificador del paquete, pero que parece muy bien y la compra no funcionaría si no fuera.

He estado probando esto en el dispositivo así como en el simulador, pero esto tiene el mismo resultado. Además, no hace la diferencia si estoy usando una tienda en el Reino Unido o en los Estados Unidos.

Estoy realmente aferrado a las pajitas para descubrir por qué esto no funciona para mí?

Respuesta

8

intente hacerlo así y compruebe que el recuento de matrices también devuelve cero?

- (void) checkPurchasedItems 
{ 
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 
}//You Call This Function 

//Then this delegate Function Will be fired 
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue 
{ 
    purchasedItemIDs = [[NSMutableArray alloc] init]; 

    NSLog(@"received restored transactions: %i", queue.transactions.count); 
    for (SKPaymentTransaction *transaction in queue.transactions) 
    { 
     NSString *productID = transaction.payment.productIdentifier; 
     [purchasedItemIDs addObject:productID]; 
    } 
} 
+1

Sí, lo compruebo, eso es lo que me da cero – Jules

+0

¿Está bien, dónde está agregando TrunsactionObserver? –

+1

En viewdidload. – Jules

1

De acuerdo con la docs:

Cuando se crea un nuevo producto que se vende en su tienda, usted decide si ese producto puede ser restaurado o no.

Entonces, la pregunta es, ¿está configurado su producto para permitir restauraciones?

+1

gracias, pero no puedo ver que en cualquier lugar, es un producto no consumible ?? – Jules

+0

Creo que no consumible implica que puede, así que sí. – Jules

Cuestiones relacionadas