Asking user to rate or review app in iOS – Swift Tutorial

In this post, we will explore how to use the iOS SDK StoreKit framework to request app store ratings. By leveraging SKStoreReviewController, we can prompt users with a pop-up to rate our iOS app without requiring them to leave the app. Previously, we needed to open the App Store and ask users to rate the app there. Let’s dive into how to use the StoreKit framework to request app store ratings seamlessly.

Things to keep in mind while adding app rating pop up using SKStoreReviewController

  1. The app rating alert can be displayed up to three times within a 365-day period.
  2. Avoid triggering the app rating alert through a button click, as it may not always show the alert.
  3. The app icon is managed by SKStoreReviewController and is retrieved from your app details on the iOS App Store.
  4. SKStoreReviewController is available starting from iOS 10.3 and later versions.

Steps to show app rating alert in iOS using SKStoreReviewController

Step 1: Import StoreKit framework

Step 2: Open your swift class, where you want to implement this app rating alert. Create a function to request review pop up usingSKStoreReviewController class. Below is the code for asking app rating pop up.

import UIKit
import StoreKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
       	self.requestAppReview()
    }
    
    func requestAppReview() {
        if #available(iOS 14.0, *) {
            if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
                SKStoreReviewController.requestReview(in: scene)
            }
        } else {
            SKStoreReviewController.requestReview()
        }
    }
}

Since requestReview is deprecated in IOS 14.0 and onward. So we will use, requestReview(in: scene) function introduced after iOS 14.0 and onward. That’s it and we have implemented app rating pop up in our iOS app. You will see a pop up in your app like this (please ignore the app icon as it’s taken from app that is already on iOS app store).