Swiftpack.co - Package - grizzly/AppRating

AppRating - iOS App Rating for Swift 5.0

CocoaPods Compatible Carthage Compatible Platform Swift 5.0

AppRating is a simple yet powerful App Review Manager for iOS and OSX written in Swift. It is based on Armchair but mainly rewritten for Swift 5.0.

What's new?

  • SKStoreReviewController - Now supporting the brand new iOS 10.3 API SKStoreReviewController which makes it really easy to get a huge number of ratings for your app. It opens the rating directly in an alert:

AppRating supports the brand new SKStoreReviewController API

Why AppRating?

The average end-user will only write a review if something is wrong with your App. This leads to an unfairly negative skew in the ratings, when the majority of satisfied customers don’t leave reviews and only the dissatisfied ones do. In order to counter-balance the negatives, AppRating prompts the user to write a review, but only after the developer knows they are satisfied. For example, you may only show the popup if the user has been using it for more than a week, and has done at least 5 significant events (the core functionality of your App). The rules are fully customizable for your App and easy to setup.




CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 0.39.0+ is required to build AppRating.

To integrate AppRating into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.3'

pod 'AppRating', '>= 0.0.1'

Then, run the following command:

$ pod install


Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate AppRating into your Xcode project using Carthage, specify it in your Cartfile:

github "grizzly/AppRating"

Run carthage update to build the framework and drag the built AppRating.framework into your Xcode project.


Simple 1-line Setup

AppRating includes sensible defaults as well as reads data from your localized, or unlocalized info.plist to set itself up. While everything is configurable, the only required item to configure is your App Store ID. This call should be made as part of your App Delegate's initialize() function


That's it to get started. Setting AppRating up with this line uses some sensible default criterion (detailed below) and will present a rating prompt whenever they are met.

What's Planned?

There are some ideas we have for future versions of AppRating. Feel free to fork/implement if you would like to expedite the process.

  • Get 100% Unit Test coverage
  • Add additional localizations: ongoing
  • Your idea

Bugs / Pull Requests

Let us know if you see ways to improve AppRating or see something wrong with it. We are happy to pull in pull requests that have clean code, and have features that are useful for most people. While the Swift community is still deciding on proper code structure and style, please refrain from simple style complaints (space > tabs, etc...)


AppRating is released under an MIT license. See LICENSE for more information


Stars: 50


Used By

Total: 0


Swift Package Manager Support - 2020-10-10 13:37:34