The problem seems to be worth mentioning in iOS 7.0, as described here . You can see how Appirator viewed the issue in its source here .
Basically, you need to handle 7.0 users differently: (the first line matches the decision made, the added lines are on the same line.)
NSString *str = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=yourAppIDHere"; if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { str = @"itms-apps://itunes.apple.com/app/idyourAppIDHere"; } [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
August 19, 2015 Patch
The above URLs do not work for iOS 8.0. Updated code for all versions of iOS will be:
NSString *str; float ver = [[[UIDevice currentDevice] systemVersion] floatValue]; if (ver >= 7.0 && ver < 7.1) { str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",appID]; } else if (ver >= 8.0) { str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software",appID]; } else { str = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@",appID]; } [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
Source: Appirator
November 14, 2017 Patch
From iOS 10.3, we can request a review using the SKStoreReviewController , which actually opens a neat little popup in your application, rather than switching from your application:
if (@available(iOS 10.3, *)) { [SKStoreReviewController requestReview]; return; }
Craig grummitt
source share