在iOS 10.3出現之前,App實現評價方式一般有兩種:
(一)deep link調用。在app 鏈接地址后面拼上action=write-review這種方式可以實現程序內評價;
(二)App跳轉。
NSURL*url=[NSURLURLWithString:
@"itms-apps://itunes.apple.com/cn/app/XXX/idXXX?mt=XXX"];
[[UIApplicationsharedApplication] openURL:url];
在iOS 10.3出現之后,App實現評價方式又多了一種:程序內評價。蘋果提供一個類SKStoreReviewController,可以幫助我們實現在app內部的評價,使用起來很簡單,代碼如下:
[SKStoreReviewController requestReview];
UI效果如下:
點贊之后的效果圖如下:
SKStoreReviewController的優點:
(一)比較人性化,用戶體驗好;
(二)使用簡單;
SKStoreReviewController的缺點:
(一)Apple有一些相應的限制,API里有詳細的說明,如下:
而且我們在測試的時候,“提交”按鈕是不能用的,官方說明如下:
"When you call this method while your app is still in development mode, a rating/review request view is always displayed so that you can test the user interface and experience. However, this method has no effect when you call it in an app that you distribute using TestFlight."
大致意思就是說測試的時候只有用到TestFlight測試,“提交”按鈕才能點擊。
(二)Apple 限制開發者在一年最多只能向用戶調用三次評分UI。
(三)只可以評分,不能寫評語;
總結
上述的三種評價方式,我們在開發中該如何選擇呢?答案很簡單:根據需求來定。
更多文章
CocoaPods開源庫的搭建
CocoaPods搭建私有庫
CocoaPods搭建私有庫遇到問題
CocoaPods私有庫的升級維護
SKStoreReviewController之程序內評價
App應用程序圖標的動態更換
開源框架 MGJRouter_Swift
iOS的MVP設計模式
iOS插件化
iOS FMDB的使用
Swift之ReactiveSwift
OC之ReactiveCocoa
OC之ReactiveCocoa進階
iOS 性能考慮