最近应用中要添加app评分功能,在网上查了一下应用怎么直接跳转到app store评分地址,发现大部分文章说的都是之前的方式,评分地址已经被苹果修改了,所以记录一下如今的方式,防止本身之后又忘了。app
跳转到AppStore评分,有两种方法:框架
一种是跳出应用,跳转到AppStore,进行评分;spa
另外一种是在应用内,内置AppStore进行评分。代理
PS:appID在https://itunesconnect.apple.com中建立应用便可在应用界面得到get
1.跳出应用,跳转到AppStore,进行评分it
[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=APPID&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8"]];(APPID可在itunce里面查到)io
2.在应用内,内置AppStore进行评分class
苹果提供了一个框架StoreKit.framework,导入StoreKit.framework,在须要跳转的控制器里面添加头文件#import, 实现代理方法:< SKStorePRoductViewControllerDelegate >import
//自定义方法meta
- (void)loadAppStoreController
{
// 初始化控制器
SKStoreProductViewController*storeProductViewContorller = [[SKStoreProductViewControlleralloc]init];
// 设置代理请求为当前控制器自己
storeProductViewContorller.delegate=self;
[storeProductViewContorllerloadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:kAppId}completionBlock:^(BOOLresult,NSError*error) {
if(error) {
NSLog(@"error %@ with userInfo %@",error,[erroruserInfo]);
}else{
// 模态弹出appstore
[selfpresentViewController:storeProductViewContorlleranimated:YEScompletion:nil];
}
}];
}
//AppStore取消按钮监听
- (void)productViewControllerDidFinish:(SKStoreProductViewController*)viewController
{
[selfdismissViewControllerAnimated:YEScompletion:nil];
}