指定時間になったらサウンドを鳴らす方法「UILocalNotification」

目覚まし時計アプリを作ろうとして
最初に必要になるのが指定時間になったら
音を鳴らすことです。

iPhoneアプリで時間になったらアラームを鳴らす
時計アプリがけっこうリリースされているので
鳴らす方法をあるはずです。

で、どうやったら鳴らせるのかを調べてみたので
それを書いておきます。

指定時間に処理をするには
「UILocalNotification」を使います。

NSDate *date = [NSDate dateWithTimeIntervalSinceNow:30.0f];  //現在の時刻から30秒後に設定

UILocalNotification *notify = [[UILocalNotification alloc] init];
notify.fireDate = date;
notify.timeZone = [NSTimeZone defaultTimeZone];
notify.hasAction = YES;  //アクションボタンの表示
notify.alertBody = @"時間です。";  //アラートのメッセージ本文
notify.alertAction = @"起動する。";  //アクションボタンに表示する文字
notify.soundName = @"sound.caf";  //アラート表示時に鳴らすサウンドファイル

[[UIApplication sharedApplication] scheduleLocalNotification:notify];  //スケジュール登録

スケジューリングされた特定の通知をキャンセルするには
cancelLocalNotification:を呼び出します。

また、スケジューリングされたすべての通知をキャンセルするには
cancelAllLocalNotificationsを呼び出します。

これらのメソッドはともに、現在表示されている
通知警告もプログラム上で閉じます。

参考にしたサイト・文書


よくわかるiPhoneアプリ開発の教科書【iOS 5&Xcode 4.2対応版】

タイトルとURLをコピーしました