【iOS】requestReview(in:)がiOS 18から非推奨だったので対応した

【iOS】requestReview(in:)がiOS 18から非推奨だったので対応した

2025.11.10

はじめに

スターバックス デジタルテクノロジー部のリルオッサです。

ユーザーにアプリの評価を促すSKStoreReviewController.requestReview(in:)がiOS 18から非推奨になっていたので、推奨されている形に直す為に調べました。

実は4年前にもreviewRequestの書き換え記事を書いており、4年越しの続編となっております。
https://dev.classmethod.jp/articles/would-you-like-a-squid/

環境

  • Xcode 26.1
  • iOS 26.1

requestReview(in:)とは

ユーザーにアプリのレビューを促すこのような画面を出す処理になります。

ika_review

SwiftUIでの実装

SwiftUIでは、iOS 16以降からEnvironmentValuesrequestReviewというプロパティが追加されており、以下のようにシンプルに呼び出せます。

import SwiftUI
import StoreKit

struct ContentView: View {
    @Environment(\.requestReview) var requestReview

    var body: some View {
        Button("🦑") {
            requestReview()
        }
    }
}

UIKitでの実装

SwiftUIでのシンプルな実装については紹介しましたが、UIKitではこのシンプルな呼び出し方法をそのまま使用することはできないため、以下のようなコードで呼び出している方が多いのではないでしょうか。

import StoreKit

//...

func requestReview() {
    if let scene = view.window?.windowScene {
        SKStoreReviewController.requestReview(in: scene)
    }
}

https://developer.apple.com/documentation/storekit/skstorereviewcontroller/requestreview(in:)

ただ、iOS 18からこのメソッドは非推奨になってしまったため、書き換える必要があります。

requestReview-deprecated

ドキュメントにも代わりになるメソッドが記してあるため、そのメソッドを使用します。

Use AppStore.requestReview(in:).

AppStoreのメソッドに書き換え

https://developer.apple.com/documentation/storekit/appstore/requestreview(in:)-1q8qs

このAppStore.requestReview(in:)はiOS 16以上で使える点や、既存のメソッドを大きく書き換える必要がないため、簡単に移行できそうです。

書き換え後は次の例になります。

import StoreKit

//...

func requestReview() {
    if let scene = view.window?.windowScene {
        AppStore.requestReview(in: scene)
    }
}

おわりに

レビューリクエストをユーザーとアプリの評価の大切な接点なので大事にしていきたいですね。

Human Interface Guideline に記載のベストプラクティスに沿ってユーザーが評価したくなるようなタイミングを研究していきたいと思います。
https://developer.apple.com/jp/design/human-interface-guidelines/ratings-and-reviews

iOSエンジニア募集中

スターバックス デジタルテクノロジー部では、iOSアプリ開発のできるエンジニアを募集しています。
iOSアプリ開発についてワイワイしながら一緒に働いてくれる仲間をお待ちしています☺

https://careers.classmethod.jp/requirements/sbj-nativeapp-ios/

この記事をシェアする

FacebookHatena blogX

関連記事