2012-02-20 12 views

risposta

50

Se vuoi dire che si desidera controllare gli oggetti acquistati che già utente acquistare esso .. sì, si può fare come questo

- (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]; 
} 
} 
+0

Grazie! Era esattamente ciò di cui avevo bisogno. –

+0

Ho usato la soluzione per determinare il productIdentifier (ad esempio 'transaction.payment.productIdentifier') associato a SKPaymentTransaction attualmente in elaborazione nella coda. Grazie –

4

VERSIONE SWIFT:

Una volta a ottenere il delegato

func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue!) { 
    var productIds = [String]() 
    for transcation in queue.transactions{ 
     if let productID = transcation.payment?.productIdentifier{ 
     productIds.append(productID) 
     } 
    } 
Problemi correlati