Obj-C, Storekit restoreCompletedTransactions returns zero transactions?

cocoa-touch, iphone, objective-c, storekit, xcode

Solution

try to do it like this and check the array count is it return zero also ?

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

Problem

I'm having some problems restoring completed transactions. ``` [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; ``` I've added the observer mentioned in several examples, I've tried adding `paymentQueueRestoreCompletedTransactionsFinished` and already have `updatedTransactions`. `paymentQueueRestoreCompletedTransactionsFinished` says I have zero transactions. I can buy a product and if I try to buy again, it stops me and says I've already bought the product, using this code. ``` SKPayment *payment = [SKPayment paymentWithProductIdentifier:productIdentifier]; [[SKPaymentQueue defaultQueue] addPayment:payment]; ``` I thought maybe I had a problem with my bundle identifier, but that seems fine and the buy wouldn't work if it wasn't. I have been trying this on the device as well as the simulator, but this has the same result. Also, it doesn't make a difference If I'm using UK or US store. I'm really grasping at straws to find out why this doesn't work for me ?

Original source