如何从恢复的事务中获取产品标识符?

Tho*_*sen 21 iphone in-app-purchase ios

我已设法恢复应用内交易并从原始交易中获取交易标识符,但如何识别在交易中购买的产品?是否有可能获得以前购买的应用内商品的产品标识符?

Mal*_*ndi 57

如果你的意思是你想检查已经用户购买它的购买物品..是的你可以这样做

- (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];
}
}
Run Code Online (Sandbox Code Playgroud)


bpo*_*lat 6

SWIFT版本:

一旦你得到代表

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