2011年7月12日火曜日

UILocalNotification

UILocalNotificationは、アプリケーションが終了した状態でも指定時間になったらメッセージを表示する等の動作を行わせることができる機能です。


// ローカル通知を作成
UILocalNotification *ln = [[UILocalNotification alloc] init];

NSDate *dt;
dt = [NSDate dateWithTimeIntervalSinceNow:60]; // 60秒後に表示

// 通知時刻を設定
[ln setFireDate:dt];

// タイムゾーンを設定
[ln setTimeZone:[NSTimeZone localTimeZone]];

// メッセージを設定
[ln setAlertBody:@"起きて"];

// サウンド設定
[ln setSoundName:UILocalNotificationDefaultSoundName];

// ボタンタイトルの設定
[ln setAlertAction:@"Open"];

// ローカル通知を登録
[[UIApplication sharedApplication] scheduleLocalNotification:ln];

[ln release];

上記例の処理をアプリに行わせて終了させると、アプリが動作していなくても60秒後に「起きて」というメッセージが表示されるようになります。

サウンド設定にはサウンドファイル名を拡張子付きで指定しますが、再生時間が30秒未満、かつ以下の形式でないと無効となり、システムのデフォルトサウンドが再生されてしまうので注意が必要です。

●リニアPCM
● MA4(IMA/ADPCM)
● µLaw
● aLaw

上記ファイルはaiff, caf, wavのファイルです。

また、applicationIconBadgeNumberプロパティに任意の数字を指定することで、メールアプリなどでよく見られるようなバッヂが表示されるようになります。



0 件のコメント:

コメントを投稿