
iOSモバイルアプリでアプリのバージョン情報をアプリ内に記載する
普段アプリを使っている時あまり見かけることはないですが、設定などの深めのアプリの階層にはアプリのバージョンが記載されていることが多くあります。
今回はそちらの実装を実施していきます。

1. なぜアプリバージョンの記載が必要なのか
利用規約やプライバシーポリシーと違ってアプリバージョンの記載はAppleやGoogle、または法律によって義務付けられているものではありません。
記載されていることが多い理由として以下の理由があるようです。
ユーザーから不具合等の問い合わせがあった時にバージョンを確認してもらいやすくする
またその確認を受けて特定のバージョンで発生している不具合などの解析をしやすくする
前者は確かにあるとだいぶ昔のアプリバージョンなのでアップデートしないとダメですよ、とお伝えしたり他のユーザーで同じバージョンの不具合報告がないか切り分けがしやすくなるので表示するに越したことはなさそうです!
実装は至って簡単です
2. 実装方法
以下のコードを表示させたい場所に追加します
Swift UIの場合
import SwiftUI
struct SettingsView: View {
var body: some View {
VStack {
Text("Settings").font(.largeTitle).bold()
Spacer()
Text("App Version: \(Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown")")
.font(.footnote)
.foregroundColor(.gray)
Text("Build: \(Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "Unknown")")
.font(.footnote)
.foregroundColor(.gray)
}
.padding()
}
}
UI Kit利用の場合 (今回自分はこちらで実施しました)
appVersionLabel.text = "Version \(Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown")"
とてもシンプルですよね!自動でアプリの情報をとってきてくれるみたいなので一回実装しちゃえばアプリのアップデートのたびに何かを更新する必要もなさそうです!