僕はアップデート後の初回起動時にアップデート内容を知らせるために使ってますが、その他の用途にも地味に使うことがあるので、自分用に載せます。
開発環境(前提条件)
・Xcode13.3
・Swift5(2022年5月22日に再確認済み)
コード
とりあえず最初に。このコードはバージョンが違っていたら true を返して最新のバージョンを自動保存するようにしているので、この Bool を参照後にユーザーがアプリを閉じるなどの操作を行った場合でも、それ以降は false になります。
ユーザーの操作結果が必要な場合は UserDefaults の保存処理を削除してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var firstLaunchAfterUpdate: Bool { let currentVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String if let latestVersion = UserDefaults.standard.string(forKey: "app_version") { let isDifferent = currentVersion != latestVersion if isDifferent { UserDefaults.standard.set(currentVersion, forKey: "app_version") } return isDifferent } UserDefaults.standard.set(currentVersion, forKey: "app_version") return false } |
初回インストールは false になり、アップデート後の初回起動時のみ true になります。
初回インストールを true にしたい場合は一番下を return true にしたらおけです。
さいごに
サーバーを使っているアプリであればサーバーに任せると思いますが、サーバー使ってないアプリがこのためにサーバー立てるのもどうかと思うので、アプリによってはこれで充分かなと|ω・`)
コメント