酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Xamarin.iOSでinfo.plistで指定したバージョンを取得する

バージョン情報を表示させたり、問い合わせ時にアプリケーションバージョンを付け加えたりする場合、info.plistのバージョン情報を取得します。Objective-Cで書いたら下記の通りです。

NSString *build = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];

Xamarin Studioでinfo.plistを開きます。バージョンを入力する箇所があるので、ここでは「3.0.0」と入力しました。

f:id:ch3cooh393:20130321172217p:plain

これをXamarin.iOSではどうのようにして取得するのか確認してみましょう。ViewDidLoad時にbuttonのTouchUpInsideイベントが発生すると、バージョン情報をコンソールへ出力させています。

public override void ViewDidLoad ()
{
	base.ViewDidLoad ();

	button.TouchUpInside += (sender, e) => {

		// バージョン情報を取得する
		var bundle = NSBundle.MainBundle;
		var version = bundle.ObjectForInfoDictionary("CFBundleVersion").ToString();

		Console.WriteLine("version: {0}", version);
	};
}

バージョン情報の取得に必要な処理は、以下の通りです。

// バージョン情報を取得する
var bundle = NSBundle.MainBundle;
var version = bundle.ObjectForInfoDictionary("CFBundleVersion").ToString();

サンプルプロジェクト

サンプルプロジェクトをGitHubで公開しています。

004_GetVersionSample