目覚まし時計アプリを作ろうとして
最初に必要になるのが指定時間になったら
音を鳴らすことです。
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を呼び出します。
これらのメソッドはともに、現在表示されている
通知警告もプログラム上で閉じます。