簡単な質問ですが、見つけるのは非常に難しいようです。
私はAndroidとiOSのゲームを構築しています。そして、アプリのバージョン (つまり「2.0.1」) を抽出したい (App Store/Google Play に新しいバージョンがある場合にポップアップを表示するため)。
プログラムでこれを行う方法を知っている人はいますか?
古い:この回答は執筆時点では完全に有効でしたが、含まれている情報は古くなっています。これを行うためのより良い方法があります。代わりにこの回答を参照してください。回答は歴史的な理由から保持されています。反対票を投じる前にこれを検討してください。
つまり、いいえ。Unity からアプリ バンドルのバージョンを直接取得することはできません。
実はPlayerSettings.bundleVersionというプレイヤー設定で設定した数値を読み込める関数がありますが、残念ながらエディタクラスの関数なので実行時には使えません。(実はこの数字はXcodeで変更できるので、Unityのプレイヤー設定で設定した数字が間違っている可能性があります)。
簡単な方法は、コードにバージョン番号を記述し、アプリを送信して更新するたびに番号を更新することです。リリース前にやり忘れてしまうのでちょっと危険です。そのため、チェックリストが必要になる場合があります。
別の方法は、プラグインを作成することです。Xcode SDK には、info plist からアプリのバージョンを取得するメソッドがあります。目的に応じて、これを Unity に戻すことができます。
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]