title: SKProductRequest not returning any results
body: <p>I am trying to use iap's in my app. These are to buy in game gold and can be used more then once. I code the code from a noob tutorial and it works on there project can someone tell me what I am doing wrong?</p>
  
  <pre><code>#import "IAP.h"
  #import "Money.h"
  
  @interface IAP ()
  
  @end
  
  @implementation IAP;
  
  
  
  
  #define kStoredData @"com.AlexApps.TinyTrucks"
  
  
  
  
  +(void)myIAPWithItem:(NSString *)Item{
      if ([SKPaymentQueue canMakePayments]) {
          NSString *PurchaseAddress = [[NSString alloc] initWithString:[NSString stringWithFormat:@"TTE_%@kGold" , Item]];
          //PurchaseAddress is the appId for this in app purchase
          SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:PurchaseAddress]];
  
          request.delegate = self;
          [request start];
  
  
      } else {
          UIAlertView *tmp = [[UIAlertView alloc]
                              initWithTitle:@"Prohibited"
                              message:@"Parental Control is enabled, cannot make a purchase!"
                              delegate:self
                              cancelButtonTitle:nil
                              otherButtonTitles:@"Ok", nil];
          [tmp show];
  
      }
  
  
  
  }
  
  
  #pragma mark StoreKit Delegate
  
  -(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
      for (SKPaymentTransaction *transaction in transactions) {
          switch (transaction.transactionState) {
              case SKPaymentTransactionStatePurchasing:{
  
                  // show wait view here
  
                  break;
              }
              case SKPaymentTransactionStatePurchased:{
  
                  [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
                  // remove wait view and unlock feature 2
  
                  UIAlertView *tmp = [[UIAlertView alloc]
                                      initWithTitle:@"Complete"
                                      message:@"You have unlocked Feature 2!"
                                      delegate:self
                                      cancelButtonTitle:nil
                                      otherButtonTitles:@"Ok", nil];
                  [tmp show];
  
  
  
  
  
                  // apply purchase action  - hide lock overlay and
                  NSLog(@"befvsda");
  
                  // do other thing to enable the features
  
                  break;
              }
              case SKPaymentTransactionStateRestored:{
                  [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
                  // remove wait view here
                                  break;
              }
              case SKPaymentTransactionStateFailed:{
  
                  if (transaction.error.code != SKErrorPaymentCancelled) {
                      NSLog(@"Error payment cancelled");
                  }
                  [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
                  // remove wait view here
                                 break;
              }
              default:{
                  break;
              }
          }
      }
  }
  
  -(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
  {
  
      // remove wait view here
  
  
      SKProduct *validProduct = nil;
      int count = [response.products count];
  
      if (count&gt;0) {
          validProduct = [response.products objectAtIndex:0];
  
          SKPayment *payment = [SKPayment paymentWithProductIdentifier:@"com.emirbytes.IAPNoob.01"];
          [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
          [[SKPaymentQueue defaultQueue] addPayment:payment];
  
  
      } else {
          UIAlertView *tmp = [[UIAlertView alloc]
                              initWithTitle:@"Not Available"
                              message:@"No products to purchase"
                              delegate:self
                              cancelButtonTitle:nil
                              otherButtonTitles:@"Ok", nil];
          [tmp show];
  
      }
  
  
  }
  
  -(void)requestDidFinish:(SKRequest *)request
  {
  
  }
  
  -(void)request:(SKRequest *)request didFailWithError:(NSError *)error
  {
      NSLog(@"Failed to connect with error: %@", [error localizedDescription]);
  }
  
  
  
  #pragma mark AlertView Delegate
  
  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  {
      return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
  }
  
  @end
  </code></pre>
  
  <p>The program gets to this line:</p>
  
  <pre><code>SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:PurchaseAddress]];
  request.delegate = self;
  [request start];
  </code></pre>
  
  <p>Then it just stops and doesn't get anything back from apple.</p>