ios应用内跳转到appstore里评分

在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评分功能。

你可能感兴趣的:(iOS6,appstore)