SKStoreReviewController之程序内评价

在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 性能考虑

推荐阅读更多精彩内容

  • 好多年了,每到凌晨四点半都会被脑子里纷繁复杂的念头叫醒,我称之为“灵感”,这个灵感不是写文章的文思,也不是...
    flyqueen阅读 76评论 0 2
  • 从小我就急躁,静不下心。我一直都知道,但是却一直戒不掉。 反思我这近乎四个月来的工作生涯,只想说四个字,一塌糊涂。...
    賤賤小姐阅读 30评论 0 0
  • AP开设的目的是为了让有能力并且积极上进的高中学生能在高中期间有机会学习大学程度的课程。 一方面能满足一部分学生的...
    AP计算机蔡老师阅读 1,659评论 6 13
  • 继去年济州岛开始第一次闺蜜游后,甜蜜的回忆促成了今年第二次的聚会。 聚会地点:南昌 时间:2017年7月28日-8...
    伊一麻麻阅读 269评论 0 0
  • 今天七点半就回家了,拉的货少,卖的快,感觉好轻松。 头发又长了,田坤要给我理发,这家伙,胆子还不小,拿...
    田坤爸爸阅读 567评论 12 10