0

I am using bellow code to review my app. But its not working on iOS version 8.4 Its working fine for iOS version 8.3.

    if ([SKStoreProductViewController class] != nil) {
    SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init];
    [storeViewController setDelegate:self];

    NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
    f.numberStyle = NSNumberFormatterDecimalStyle;
    NSNumber *myNumber = [f numberFromString:kAppleID];

    NSDictionary *productParams = @{ SKStoreProductParameterITunesItemIdentifier : myNumber };
    [storeViewController loadProductWithParameters:productParams completionBlock:^(BOOL result, NSError *error) {
        if (result == YES) {
            [self presentViewController:storeViewController animated:YES completion:nil];
        } else {
            // handle the error
            NSLog(@"%@",error.description);
        }
    }];
}

Please help me to fix this , and also let me know why its not working? Thanks A Lot

Rohit Wankhede
  • 506
  • 5
  • 15

1 Answers1

0

Sorry, small mistake i did at code. storeViewController loadProductWithParameters: block will return NO if its not loaded. It means you are ready to present storeViewController. So i place changed the condition and it fixed my problem

if ([SKStoreProductViewController class] != nil) {
SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init];
[storeViewController setDelegate:self];

NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
f.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *myNumber = [f numberFromString:kAppleID];

NSDictionary *productParams = @{ SKStoreProductParameterITunesItemIdentifier : myNumber };
[storeViewController loadProductWithParameters:productParams completionBlock:^(BOOL result, NSError *error) {
    if (error) {
         // handle the error
        NSLog(@"%@",error.description);
    } else {
        [self presentViewController:storeViewController animated:YES completion:nil];            
    }
}];

}

Rohit Wankhede
  • 506
  • 5
  • 15
  • Also add the reason why it was working in 8.3 and not on 8.4 – Leena Aug 12 '15 at 06:44
  • @Leena I have already added answer for that. I always get NO as a result of block for 8.4. I think SKStoreProductViewController takes more time to get load in 8.4 thats why for 8.4 i am getting result as NO. for 8.3 block returns YES. – Rohit Wankhede Aug 14 '15 at 08:33