[Objective-C]アップデート通知を行ってみよう!

前回は、cocos2d-xにてモーダルダイアログを作成する方法についてご紹介しました。
今回は、アプリケーション内からアップデートの通知を行う方法についてご紹介させていただきます。

アプリケーションをアップデートすると、ユーザに最新版を使ってほしいものですが、
なかなかアップデートしたことに気づいてくれないことが多々あります。

そこで、アプリケーション起動時にAppStoreに登録されているバージョンと現在使用している
アプリケーションのバージョンを比較することで、バージョンが更新されていた場合は、
アップデートの通知をアプリケーション内で行うことができます。

今回は、バージョン比較からアラート表示まで行うオープンソースライブラリ「iVersion」を使用したいと思います。
それでは、実際にアプリケーション内でアップデートの通知を行うプログラムを作成してみましょう。

<アプリケーション内からアップデートの通知を行う方法>
【前提条件】
 ・「iTunes Store」及び、「App Store」にアプリケーションが登録されていること
 ・上記に登録されているBundleIDを用意しておくこと
 ・Xcodeのサンプルプロジェクトを用意しておく
  ※画面を1枚表示するプロジェクトで問題ありません

【手順1】
githubからオープンソースライブラリである「iVersion」をダウンロードし、任意の場所に保存します。

【手順2】
前提条件で用意したプロジェクトを開きます。

【手順3】
手順1でダウンロードした「iVersion」をプロジェクト内のディレクトリに格納します。
※「iVersion-master」ディレクトリ内にある「iVersion」フォルダが対象です

【手順4】
Xcodeを起動し、「iVersion」のリンクを作成します。

【手順5】
前提条件で準備したBundleIDを「Info.plist」ファイル内の「Bundle identifier」項目に記載します。

【手順6】
「AppDelegate.m」ファイルに下記を追記します。

//
//  AppDelegate.m
//  test
//
//  Created by junpei on 2015/04/27.
//  Copyright (c) 2015年
//

#import "AppDelegate.h"
#import "DetailViewController.h"
//ヘッダをインポートする
#import "iVersion.h"    

@interface AppDelegate () <UISplitViewControllerDelegate>
@end

@implementation AppDelegate
//「didFinishLaunchingWithOptions」よりも前に通る処理
//※クラスを初めて使用するときにコールされます
+ (void)initialize
{
    //BundleIDを取得する
    NSBundle *bundle         = [NSBundle mainBundle];
    NSString *bundleIdString = [bundle bundleIdentifier];

    //UIAlertControllerを使用するので、YESに設定する
    [iVersion sharedInstance].useUIAlertControllerIfAvailable = YES;
    //取得したBundleIDを設定する
    [iVersion sharedInstance].applicationBundleID = bundleIdString;
}

お疲れ様でした。
たった、数行追記するだけで実装が完了します。
それでは、この状態でアプリケーションを起動してみましょう。

「iVersion」でアプリケーションのバージョンチェックを行いますが、AppStoreに登録されている
アプリケーションのバージョンと、プロジェクト内のバージョンが一致しているため、アラートは表示されません。

それでは、プロジェクト内のバージョンを落としてみましょう。

もう一度、アプリケーションを起動してみましょう。

AppStoreに登録されているアプリケーションのバージョンと、プロジェクト内のバージョンが
異なっていますので、アップデートを促すアラートが表示されました。

「ダウンロード」ボタンをタップすると、AppStore画面に遷移し、アップロードすることができます。
「後で再度通知する。」ボタンをタップすると、再度アプリケーションが起動した際にアラートが表示されます。
「無視する」ボタンをタップすると、それ以降アプリケーションを起動してもアラートは表示されません。

これで、「アップデート通知を行ってみよう!」は完了となります。
アプリケーション内にアップデート通知の仕組みを導入することで、ユーザは常に最新版を使用することができます。

また、アラートのメッセージやボタン名も変更することができます(※)ので、これからアプリケーションを
AppStoreに申請される方がいましたら、ぜひ導入をご検討してみてください。
※「iVersion」は、「zlibライセンス」であるため、変更は可能です。

最後までご覧いただき有難うございました。


弊社では全国各地の請負い(ご自宅)で作業協力頂ける、フリーランスエンジニアの方を常時探しております。
ご興味ある方は、お気軽にお問い合わせ下さい。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*