在ios6.0前跳转到appstore评分一般是直接跳转到appstore评分
NSString
*evaluateString = [NSString
stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=587767923"];
[[UIApplication
sharedApplication] openURL:[NSURL URLWithString:evaluateString]];
在ios6.0,APPle增加了一个心得功能,当用户需要给APP评分时候,不再跳转到appstore了,可以在应用内实现打开appstore,苹果提供了一个框架StoreKit.framework,实现步骤如下:
1:导入StoreKit.framework,在需要跳转的控制器里面添加头文件#import
2:实现代理SKStoreProductViewControllerDelegate
3:-
(void)evaluate{
//初始化控制器
SKStoreProductViewController
*storeProductViewContorller
= [[SKStoreProductViewController
alloc] init];
//设置代理请求为当前控制器本身
storeProductViewContorller.delegate
= self;
//加载一个新的视图展示
[storeProductViewContorller
loadProductWithParameters:
//appId唯一的
@{SKStoreProductParameterITunesItemIdentifier
: @"587767923"} completionBlock:^(BOOL result, NSError *error) {
//block回调
if(error){
NSLog(@"error
%@ with userInfo %@",error,[error userInfo]);
}else{
//模态弹出appstore
[self
presentViewController:storeProductViewContorller
animated:YES completion:^{
}
];
}
}];
}
//取消按钮监听
- (void)productViewControllerDidFinish:(SKStoreProductViewController
*)viewController{
[self
dismissViewControllerAnimated:YES
completion:^{
}];
}
就很轻松实现了应用内置appstore评分功能。