IOS 在appstore给APP评分

 

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。

 (第二种方式,设备越狱后可能报错)

 

 

posted on 2014-03-04 15:56  星期天  阅读(1380)  评论(0编辑  收藏  举报

导航