App Store評(píng)分方式
1、通用方式通過(guò)App內(nèi)部打開網(wǎng)頁(yè)形式,跳轉(zhuǎn)到AppStore編輯評(píng)論,可評(píng)分,可評(píng)論。
優(yōu)點(diǎn):方便,快捷,不受系統(tǒng)版本限制,目前最常用的方式。
缺點(diǎn):內(nèi)部網(wǎng)頁(yè)形式加載緩慢,等待時(shí)間長(zhǎng),加載失敗概率大。
2、iOS 6.0以后 在app內(nèi)部加載AppStore 展示app信息
優(yōu)點(diǎn):展示速度比方法三塊快
缺點(diǎn):不能直接跳轉(zhuǎn)到評(píng)論編輯頁(yè)面,需要手動(dòng)點(diǎn)擊評(píng)論+編輯評(píng)論
3、iOS 10.0.3 新增應(yīng)用內(nèi)評(píng)分功能,調(diào)用系統(tǒng)方法評(píng)分。
優(yōu)點(diǎn):無(wú)須跳轉(zhuǎn),應(yīng)用內(nèi)系統(tǒng)彈框,方便快速。
缺點(diǎn):只能評(píng)分,且一年只能使用三次彈框。
開發(fā)步驟:
導(dǎo)入頭文件 #import
1,iOS 10.0.3以后調(diào)用系統(tǒng)彈框評(píng)分

/**
?*?只能評(píng)分,不能編寫評(píng)論
?*?有次數(shù)限制,一年只能使用三次
?*?使用次數(shù)超限后,需要跳轉(zhuǎn)appstore
?*/
-?(IBAction)systemComentBtnAction:(UIButton?*)sender?{
if([SKStoreReviewController?respondsToSelector:@selector(requestReview)])?{//?iOS?10.3?以上支持
????//防止鍵盤遮擋
????[[UIApplication?sharedApplication].keyWindow?endEditing:YES];
????[SKStoreReviewController?requestReview];
}
}
2,跳轉(zhuǎn)到AppStore對(duì)應(yīng)應(yīng)用評(píng)論頁(yè)面

/**
?*?可評(píng)分評(píng)論,無(wú)次數(shù)限制
?*/
-?(IBAction)appStoreComentBtnAction:(UIButton?*)sender?{
NSString??*?nsStringToOpen?=?[NSString??stringWithFormat:?@"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"AppID"];//替換為對(duì)應(yīng)的APPID
[[UIApplication?sharedApplication]?openURL:[NSURL?URLWithString:nsStringToOpen]];
}
3,iOS 6.0以后的方法,內(nèi)部加載AppStore

注:需簽署代理
/**
?*?在APP內(nèi)部加載App?Store?展示APP信息,但不能直接跳轉(zhuǎn)到評(píng)論編輯頁(yè)面。
?*?再加載處App?Store展示頁(yè)面后,需要手動(dòng)點(diǎn)擊?評(píng)論→?撰寫評(píng)論
?*/
```
-?(IBAction)webAppStoreBtnAction:(UIButton?*)sender?{
SKStoreProductViewController?*storeProductViewContorller?=?[[SKStoreProductViewController?alloc]?init];
storeProductViewContorller.delegate?=?self;
//加載App?Store視圖展示
[storeProductViewContorller?loadProductWithParameters:
?@{SKStoreProductParameterITunesItemIdentifier?:?@"APPID"}?completionBlock:^(BOOL?result,?NSError?*error)?{
?????if(error)?{
?????}?else{
?????????//模態(tài)彈出appstore
?????????[self?presentViewController:storeProductViewContorller?animated:YES?completion:^{
?????????}];
?????}
?}];
}
//?代理方法
-?(void)productViewControllerDidFinish:(SKStoreProductViewController?*)viewController?{
[self?dismissViewControllerAnimated:YES?completion:^{
}];
}
```