最近應用中要添加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];
}