iOSアプリ、ビルドバージョンをプログラム的に取得

自分のアプリのビルドバージョンをプログラムで取得する方法はありますか?ユーザーがAppStoreを通じてアプリを更新したことを検知して、調整用のコードを実行する必要があります。

ソリューション

Xcode target summary'の"Version"フィールドで設定した値がここに入っています。

Swift 3

let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as! String

ObjC

NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];

スウィフト2

let version = NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"] as! String

と、"Build"があります。

Swift 3

let build = Bundle.main.infoDictionary?[kCFBundleVersionKey as String] as? String

ObjC

NSString *build = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleVersionKey];

スウィフト2

let build = NSBundle.mainBundle().infoDictionary?[kCFBundleVersionKey as String] as! String
解説 (3)

infoDictionaryを使用してみてください。

NSDictionary *infoDictionary = [[NSBundle mainBundle]infoDictionary];

NSString *version = infoDictionary[@"CFBundleShortVersionString"];
NSString *build = infoDictionary[(NSString*)kCFBundleVersionKey];
NSString *bundleName = infoDictionary[(NSString *)kCFBundleNameKey]; 
解説 (1)

このオープンソースプロジェクトは、まさにこの目的のために書きました。このプロジェクトでは、ユーザーが初めてアプリを開いたときや、アップグレード後にアプリを開いたとき(どのバージョンからアップグレードしたかの情報も含めて)など、重要なイベントが発生したときに通知を表示します。ソースは簡単で、理解しやすいと思います。何か質問・要望があれば教えてください。

また、最近、ブログ記事を書きました。

解説 (0)