Swift

[Swift]起動画面 Launch Screenにアプリのバージョン番号、ビルド番号を表示させる方法

概要

スマホカードリストというアプリを開発しています。病院の診察券やクレジットカードの券面を写真に撮ってアプリに保存しておき、カードの情報をいつでも確認できるように作ったアプリです。

‎List of Cards
‎List of Cards
Developer: Sato Kazushige
Price: Free+

アプリに不具合が起きた時にスクリーンショットを送ってもらったりするのですが、どのバージョンで起きた不具合なのかはっきりしないこともあるので、「アプリの起動画面にバージョン番号が表示されてたらいいなあ」と思いました。

調べたら、実現方法があったので、ここにまとめておこうと思います。

実現方法

Launch Screen.storyboardの準備

Swiftで作る場合においてはアプリの起動画面はLaunch Screen.storyboardというファイルで実装します。

このLaunch Screen.storyboardに、バージョン番号表示用のLabelを貼り付けます。制約などはいい感じに設定してください。

貼り付けたら、Xcode右側のIdentity Inspector paneからDocument -> Labelをみつけます。見つかったら、Document -> Labelの欄に APP_VERSION と入力します。

バージョン番号、ビルド番号を設定させるためのスクリプト

先ほど貼り付けた、APP_VERSIONというラベルに、バージョン番号、ビルド番号を埋め込むためのスクリプトを作成します。

Xcodeの該当のプロジェクトのBuild Phasesを表示し、+を押して、New Run Script Phaseを選びます。

そして、Shellの中に以下をコピペします。

#   ON/OFF Script Toggle (script ON with #, script OFF without #)
#exit 0

#   App vesion / Build version constants
sourceFilePath="$PROJECT_DIR/$PROJECT_NAME/Launch Screen.storyboard"
versionNumber="$MARKETING_VERSION"
buildNumber="$CURRENT_PROJECT_VERSION"

#   Output version & build numbers into a label on LaunchScreen.storyboard
sed -i .bak -e "/userLabel=\"APP_VERSION\"/s/text=\"[^\"]*\"/text=\"Version $versionNumber($buildNumber)\"/" "$sourceFilePath"

sourceFilePahtには、Launch Screen.storyboardへのファイルパスを設定してください。

そして、このスクリプトの行をマウスでつかんで、Copy Bundle Resourcesよりも前にドラッグしてください。こうすることで、上記スクリプトでAPP_VERSIONがバージョン番号などに置換されたLaunch Screen.storyboardがビルドに組み込まれることになります。

完成

このように起動画面の右上にバージョン番号を表示させることができました!

‎List of Cards
‎List of Cards
Developer: Sato Kazushige
Price: Free+

 

 

-Swift

© 2024 かずのアプリときどきキャンプ飯 Powered by AFFINGER5