Sembra esserci un problema da menzionare in iOS 7.0 come descritto here. Puoi vedere come Appirator ha affrontato il problema nella loro fonte here.
In sostanza, è necessario gestire 7.0 gli utenti in modo diverso, come così: (la prima linea è la stessa come la soluzione accettata, le stringhe allegate sono solo sulla stessa linea.)
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]];
Aggiornamento 19 agosto 2015
Gli URL sopra riportati non funzionano per iOS 8.0. ristorazione codice aggiornato per tutte le versioni di iOS potrebbe essere:
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]];
Fonte: Appirator
Aggiornamento 14 novembre 2017
da iOS 10.3, siamo in grado di chiedere una revisione utilizzando il SKStoreReviewController, che in realtà apre un piccolo popover pulito nella tua app piuttosto che allontanarsi dalla tua app:
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
return;
}
fonte
2014-05-29 17:38:29
Che ha funzionato perfettamente. Grazie infinite. –
Non utilizzare - [NSString stringWithFormat:] quando si aggiunge solo una stringa. - [NSString stringByAppendingString:] farà lo stesso, ma molto più velocemente ed efficacemente (nessun buffer, ecc.). –
È possibile saltare la parte "type = ..." in modo che l'url indichi ".../viewContentsUserReviews? Id = ...". Questo funziona per iOS 7.1.2 e 8.0.2 (testato su dispositivi reali). –