深夜にメソッドを実行したいのですが、これを正しく実行する方法がわかりません。毎分時間をチェックし、現在の時間が23:59に等しい場合、実行メソッドはばかげているように見えます。今から真夜中までの時間間隔を計算し、それをnstimerのパラメーターとして設定しますか?
この問題を手伝ってくれませんか。
更新:申し訳ありませんが、皆さん、これについて1つ忘れました。メソッドは、ユーザーに通知せずにバックグラウンドで実行する必要があります。
深夜にメソッドを実行したいのですが、これを正しく実行する方法がわかりません。毎分時間をチェックし、現在の時間が23:59に等しい場合、実行メソッドはばかげているように見えます。今から真夜中までの時間間隔を計算し、それをnstimerのパラメーターとして設定しますか?
この問題を手伝ってくれませんか。
更新:申し訳ありませんが、皆さん、これについて1つ忘れました。メソッドは、ユーザーに通知せずにバックグラウンドで実行する必要があります。
ローカル通知を使用できます。
UILocalNotification *notif = [[UILocalNotification alloc] init];
notif.soundName = @"sound.wav";
notif.alertBody = @"My Message";
notif.alertAction = @"Open";
// you need to configure interval and firedate to schedule everything
notif.repeatInterval = XXX;
notif.repeatCalendar = XXX;
notif.fireDate = XXX;
[[UIApplication sharedApplication] presentLocalNotificationNow:notif];
[notif release];
アプリが通知から開かれたことを検出するには、アプリデリゲートに次のメソッドを実装する必要があります。
- (void)applicationDidEnterBackground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
- (void)applicationWillTerminate:(UIApplication *)application
お役に立てれば。
編集後:
メソッドを使用できます[NSTimer ScheduleTimerWith.....]
。
いつかスケジュールされたローカル通知を使用する