iPhoneアプリの新機能をカッコ良く表示できる「What’s New」

ユーザーにアプリをアップデートしてもらった後、そのユーザーに向けてアプリの新機能を表示したい、というケースはよくあります。そんな表示機能を簡単に実現させてくれるライブラリがWhat’s Newです。

どんな感じなのん?

こんな画面を表示することができます。

mdznr_What-s-New

コードをカスタマイズすると色を変更することもできます。

mdznr_What-s-New 2

使い方

ライブラリを自分のプロジェクトに追加

  • CocoaPodsを使っている場合はPodfileにMTZWhatsNewを追加してpod install
  • 使っていない場合はリポジトリのClasses以下を自分のXcodeプロジェクトファイルに追加

AppDelegateにコードを追加

AppDelegateのapplication:didFinishLaunchingWithOptions:メソッドの中に以下のコードを追加します。

[MTZWhatsNew handleWhatsNew:^(NSDictionary *whatsNew) {
    MTZWhatsNewViewController *vc = [[MTZWhatsNewViewController alloc] initWithFeatures:whatsNew];
    [self.window.rootViewController presentViewController:vc animated:NO completion:nil];
}];

What’s New.plistを追加

こんな感じのデータが設定されているWhat’s New.plistを追加します。

Podcasts_—_What_s_New_plist

3.0などの数字のキーがアプリのバージョン(Bundle version)に対応しています。その中に配列をつくって、それぞれのアイテムにtitle, detail, iconをキーにしたDictionary型のデータを作成します。

上記の画像にある3.0のキーに対応したデータを表示すると、以下のような画面になります。

スクリーンショット_2014_06_08_11_28

iconの中身の文字列は、images.xcassetsの中の画像名と対応しているようです。

Podcasts_—_Images_xcassets

背景色は以下のようなコードでカスタマイズできます。

[MTZWhatsNew handleWhatsNew:^(NSDictionary *whatsNew) {
    MTZWhatsNewGridViewController *vc = [[MTZWhatsNewGridViewController alloc] initWithFeatures:whatsNew];
    // 色のカスタマイズができます。グラデーションの上部の色と、下部の色を変更する感じです。
    vc.backgroundGradientTopColor = [UIColor whiteColor];
    vc.backgroundGradientBottomColor = [UIColor whiteColor];
    [self.window.rootViewController presentViewController:vc animated:NO completion:nil];
}];

なかなか便利かも。

What’s New