6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【SwiftUI】強制アップデートアラートを表示させる

Last updated at Posted at 2023-02-24

はじめに

ユーザーには最新のバージョンを使って欲しいです。
ですのでAppStoreに最新バージョンがリリースされたらアプリに通知します。
よく使う機能なのでライブラリを作成しました。

作成したライブラリの使い方を紹介します。

サンプルアプリ

simulator_screenshot_6CF8E9C7-F238-466D-B211-4AD971938E03.png

ライブラリの導入

① 「File」を選択します
② 「Add Packages...」を選択します
スクリーンショット 2023-02-24 21.36.36.png

https://github.com/SNQ-2001/AppVersionMonitorSwiftUIを検索します
④ 「Up to Next Major Version」を選択します
⑤ 「Add Package」を選択します
スクリーンショット 2023-02-24 21.39.58.png

⑥ 「Add Package」を選択します
スクリーンショット 2023-02-24 21.43.06.png

実装

import SwiftUI
import AppVersionMonitorSwiftUI

struct ContentView: View {
    @State var isAlert: Bool = false
    var body: some View {
        VStack {
            Image(systemName: "globe")
                .imageScale(.large)
                .foregroundColor(.accentColor)
            Text("Hello, world!")
        }
        .alert(isPresented: $isAlert) {
            Alert(title: Text("お知らせ"), message: Text("最新バージョンがあります"), dismissButton: .default(Text("OK")) {
                // TODO: ここでAppStoreを開く
            })
        }
        .appVersionMonitor(id: 1570395606) { status in
            switch status {
            case .updateAvailable:
                isAlert = true
                print("アップデートがあります")
            case .updateUnavailable:
                print("アップデートがありません")
            case .failure(let error):
                print("エラーが発生しました: \(error)")
            }
        }
    }
}

アプリIDについて

idでしている数字はアプリIDです。

.appVersionMonitor(id: 1570395606) { status in

アプリIDはAppStoreのURLで確認できます。

https://apps.apple.com/jp/app/g-search/id1570395606

後ろについている数字がidです。

リリース前のアプリのアプリIDを知る方法は別記事で紹介しています。

注意事項

アプリバージョンの指定方法は「Semantic Versioning 2.0.0」を採用しています。

例:1.0.0 2.1.3 3.10.1

「Semantic Versioning 2.0.0」以外のバージョンの指定方法は使用できません。

「Semantic Versioning 2.0.0」については、以下の記事がわかりやすかったです。

おわり

スターください!
IssueやPRもお願いします!

6
3
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
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?