1、在ios6.0前一般是直接跳转到appstore评分,代码如下:
1 NSString *_idStr = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/us/app/id%@?mt=8",<YOUR APPID>]; 2 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:_idStr]];
2、在ios6.0以后,IOS增加了一个心的功能,可以不跳转到appstore而在应用内直接打开appstore,苹果提供了一个StoreKit.framework的框架,使用如下:
1>将StoreKit.framework导入到项目;
2>在需要打开评分页面的 ViewController.h 中引入#import <StoreKit/StoreKit.h>,并实现SKStoreProductViewControllerDelegate代理;
3>打开评分页面,代码如下:
1 #pragma mark 打开评分页面 2 - (void) evaluateWithAPPID:(NSString *)APPID { 3 4 //初始化控制器 5 SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init]; 6 //设置代理 7 storeProductViewContorller.delegate = self; 8 //加载一个新的视图展示 9 [storeProductViewContorller loadProductWithParameters: 10 //指定唯一APPID 11 @{SKStoreProductParameterITunesItemIdentifier : APPID} completionBlock:^(BOOL result, NSError *error) { 12 //block回调 13 if(error){ 14 15 NSLog(@"error %@ with userInfo %@",error,[error userInfo]); 16 17 } else { 18 19 //模态弹出评分窗口 20 [self presentViewController:storeProductViewContorller animated:YES completion:^{ 21 22 }]; 23 } 24 }]; 25 } 26 27 #pragma mark 关闭评分窗口 28 - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController{ 29 [viewController dismissViewControllerAnimated:YES completion:^{ 30 31 }]; 32 }
注:获取APPID的方式:通过苹果官方网站,进入iTunes
Connect,然后进入Manage Yours Apps,点击某个应用的图标后,会显示该应用的信息,其中的Apple
ID就是所谓的APPID。
(第二种方式,设备越狱后可能报错)