Parece haber un problema que vale la pena mencionar en iOS 7.0 como se describe en here. Puede ver cómo Appirator trató el problema en su fuente here.
Básicamente, usted necesita para manejar 7,0 usuarios de manera diferente, como así: (la primera línea es la misma que la solución aceptada, las cadenas adjuntas son sólo en la misma línea.)
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]];
Actualización 19 de agosto de 2015
Las URL anteriores no funcionan para iOS 8.0. código de catering actualizado para todas las versiones de iOS sería:
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]];
Fuente: Appirator
Actualización 14 de noviembre de 2017
De IOS 10.3, se puede solicitar una revisión con el SKStoreReviewController, que realmente abre un pequeño popover en tu aplicación en lugar de alejarse de tu aplicación:
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
return;
}
Eso funcionó perfectamente. Muchas gracias ender. –
No utilice - [NSString stringWithFormat:] cuando solo está agregando cadena. - [NSString stringByAppendingString:] hará lo mismo, pero mucho más rápido y eficientemente (sin búferes, etc.). –
Puede omitir la parte "type = ..." para que la URL muestre ".../viewContentsUserReviews? Id = ...". Esto funciona para iOS 7.1.2 y 8.0.2 (probado en dispositivos reales). –