LoginSignup
0
2

More than 1 year has passed since last update.

【SwiftUI】アプリ内でAppStoreを表示する

Posted at

はじめに

TwitterのAppStoreポップアップが気になってツイートして見たところ、
親切な方が教えてくださいました!

SKStoreProductViewControllerのSwiftUIでの実装方法を紹介します。

実装方法

import SwiftUI
import StoreKit

struct ContentView: View {
    var body: some View {
        Button(action: {
            showStoreProduct()
        }) {
            Text("ストア")
        }
    }

    func showStoreProduct() {
        let parameters = [SKStoreProductParameterITunesItemIdentifier: "443904275"]
        let storeProductViewController = SKStoreProductViewController()
        storeProductViewController.loadProduct(withParameters: parameters) { status, error in
            if status {
                let viewController = UIApplication.shared.windows.first?.rootViewController
                viewController?.present(storeProductViewController, animated: true, completion: nil)
            } else {
                guard let error = error else { return }
                print(error.localizedDescription)
            }
        }
    }

}

注意
シュミレーターでは表示できません。

iPhone iPad
RPReplay_Final1660018800_AdobeExpress.gif RPReplay_Final1660018940_MP4_AdobeExpress.gif

おわり

SwiftUIで実装している方は少なかったのでこの記事が誰かの役に立てば嬉しいです。

もし、閉じたことを検知したい場合はSKStoreProductViewControllerDelegateを使う必要があるのでViewControllerにを生成してからSwiftUIのViewに変換する必要があります。
そのような場合は以下の記事が参考になります。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2