hereと記載されているように、iOS 7.0に言及する価値のある問題があるようです。 Appiratorがソースの問題をどのように処理したかを見ることができますhere。
基本的に、あなたはそうと、異なっ7.0ユーザを処理する必要があります(最初の行が受け入れられた溶液と同じで、追加の文字列がちょうど同じ行にある。)
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]];
更新日2015年8月19日
上記のURLはiOS 8.0では機能しません。すべてのiOSバージョンの更新されたコードケータリングは次のようになります。
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]];
出典:Appirator
アップデート2017年11月14日
iOSの10.3から、我々はSKStoreReviewControllerを使用して審査をリクエストすることができ、実際にあなたのアプリから離れてナビゲートするのではなく、あなたのアプリできちんとした小さなpopoverを開きます:
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
return;
}
に変更してください。とてもありがとうございます。 –
文字列を追加しているときに - [NSString stringWithFormat:]を使用しないでください。 - [NSString stringByAppendingString:]は、同じ、しかしはるかに高速かつ効率的に(バッファなどはありません)行います。 –
URLに ".../viewContentsUserReviews?id = ..."が表示されるように、 "type = ..."部分をスキップできます。これは、iOS 7.1.2および8.0.2(実デバイスでテスト済み)で動作します。 –