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

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

使い方
ライブラリを自分のプロジェクトに追加
- 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を追加します。

3.0などの数字のキーがアプリのバージョン(Bundle version)に対応しています。その中に配列をつくって、それぞれのアイテムにtitle, detail, iconをキーにしたDictionary型のデータを作成します。
上記の画像にある3.0のキーに対応したデータを表示すると、以下のような画面になります。

iconの中身の文字列は、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]; }];
なかなか便利かも。