ぽんぽこ日記

プログラミング、読書、日々の生活

iOSアプリのバージョン番号を表示する

iOSアプリを作っていて、実行中のアプリのバージョンを知りたいことがあります。他人からの不具合報告なんかを聞いた場合にはまずバージョンを知りたいと思います。
そういった都合から、「このアプリについて」のような画面を用意することが多いと思います。
簡単なページなのでNibを使って作ったりすると思いますが、nibに固定値を書き込むのでは無く、Apple提出時のアプリバージョンとなるアプリのバージョン文字列を動的に取得して表示すると、Nibの更新を忘れたりするリスクが回避できます。

@interface AboutThisAppViewController : UIViewController
{
  IBOutlet UILabel* versionLabel_;
}
@end

として、Nib上で、バージョン番号表示させたいUILabelとアウトレットを結びつけて、viewDidLoad(アプリの実行中に値が変わるものでもないので)で、下記のように値を取得して表示させます。

- (void)viewDidLoad
{
  [super viewDidLoad];
  versionLabel_.text = [NSString stringWithFormat:@"%@",[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]];
  
}

こうしておけば、今リリースしている「クリップリーダーポケット」のようにバージョン番号を間違えて表示することも無くなりますね。