2012年9月5日水曜日

NSUserDefaultsを利用してアプリの起動回数をカウントする

このエントリーをはてなブックマークに追加
NSUserDefaultsクラスを利用すると、軽めの情報をiOSアプリ内へ簡単に保存したり読み出したりすることができます。このクラスを利用して、アプリの起動した回数をカウントするコードを書きました。



プログラム
NSUserDefaultsでは、情報をキーと値のセットで扱います。NSUserDefaultsから整数値を読み出すにはintegerForKey、保存するにはsetIntegerメソッドにキーを指定します。そして、synchronizeメソッドで情報を反映させます。

アプリケーションの動作が可能になったときに呼ばれるapplicationメソッドに、アプリの起動回数をカウントするコードを次のように書きました。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
    int appLaunchedCountValue = [userDefaults integerForKey:@"appLauchedCount"];
    appLaunchedCountValue++;
    NSLog(@"appLaunchedCountValue = %d", appLaunchedCountValue);
    [userDefaults setInteger:appLaunchedCountValue forKey:@"appLauchedCount"];
    [userDefaults synchronize];

    return YES;
}


実行結果
アプリの起動と停止をシミュレータで4回繰り返した結果をコンソールで確認しました。起動回数がちゃんとカウントアップされています。


NSUserDefaultsが書きだすファイル(*.plist)は、iOS5.1のシミュレータであれば下記の場所にありました。隠しファイルなので、Finderで表示するときは全てのファイルを表示するように設定する必要があります。

/Users/[ユーザ名]/Library/Application Support/iPhone Simulator/5.1/Applications/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Library/Preferences

plistファイルは開いて値を変更したりすることもできます。


NSUserDefaultsは、Androidのプリファレンスのような機能です。設定値の保存に便利そうです。

関連:SharedPreferencesを利用してアプリの起動回数をカウントする

0 件のコメント:

コメントを投稿