その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

アプリアップデート後の初回起動時にUIAlertViewでお知らせを表示する方法

アップデートしたあとに、「このバージョンの新機能」とかがポップアップで出てくるアレの実装方法です。
(パッと思い出せるのはAppBankさんのアプリとか)


下記をAppDelegateのapplicationDidFinishLaunching:あたりで実行します。

// ロードしたことあるバージョンを調べる
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
float loadedVersion = [[defaults objectForKey:@"version"] floatValue];

// このバンドルのバージョンを調べる
float bundleVersion = [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] floatValue];

// バージョンアップされてればバージョンアップ情報を表示
if (!loadedVersion || bundleVersion > loadedVersion) {
	
	// アラート表示
	NSString *titleStr = @"バージョンXXの新機能";
	NSString *bodyStr = @"本文";

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:titleStr 
                                                        message:bodyStr 
                                                       delegate:self
                                              cancelButtonTitle:@"OK" 
                                              otherButtonTitles:nil];
                [alertView show];
                [alertView release];
	
	// 現在のバンドルバージョンを記録
	[defaults setObject:[NSNumber numberWithFloat:bundleVersion] forKey:@"version"];
}


かなり省略しましたが表示するバージョンアップの文言はバージョン番号と言語(日本語/英語/etc)で出し分けるため、また別の担当者が編集できるようplistで管理したりしてます。