I have one speedometer app, in which 2 features are enabled by adding them to in-app purchase. Everything works fine, I have followed

Both of the features to be enabled are non-consumable. The problem is that while I am testing this and adding test account and password, I am getting same alert view all the time - "You have already purchased this but it hasn't been downloaded.Tap OK to download it now"

[Environment: Sandbox]

Why I am getting same alert view all the time? And the feature is just to enable HUD functionality and remove ads; so nothing to download from server. And I am not able to make out if the transaction is completed or not because it is not even calling finish transaction method and just gives the same alert.

Was it helpful?


I run through this tutorial and also observe this alert view. I don't think this is any issue since you have probably set-up a test account the app store. Apple store will notify you if you have purchased this item already which you probably did if you have run your app and tested the purchase functionality multiple times. This is really the part done by apple store so you don't have any handle on this.

You should received though after this alert a notification that the transaction has been completed. Make sure you have added this method:

 [[SKPaymentQueue defaultQueue] addTransactionObserver:[InAppRageIAPHelper sharedHelper]];

in your didFinishLaunchingWithOptions method of your app delegate


Use different product Id on item purchase:

          SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:self.currentProductId_1]]; 

            request.delegate = self;  
            [request start]; 

          SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:self.currentProductId_2]]; 

            request.delegate = self;  
            [request start]; 
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top