0

iPhoneの時計の特定の時刻に達したときにコードを実行することは可能ですか?これは、iPhoneを閉じた後(画面が真っ暗になった後)でも機能しますが、アプリは実行されたままです(ユーザーはホーム画面に戻りませんでした)。

たとえば、現在の時刻とは関係なく、午後1時30分15秒にメソッドがオフになるようにプログラムすることは可能でしょうか。また、電話が閉じているかどうか、またはアプリが実行されているかどうかによって制限はありますか。背景?

私はここで同様の投稿を見つけましたC#で特定の時刻にイベントを生成する方法は?ただし、これにより、現在の時刻に関係なくクロックを使用する代わりに、現在の時刻に基づいてタイマーが生成され、後でメソッドが実行されます。

私はこれを行うための貧弱な方法を作成しました-

{

time_t rawtime;
struct tm * timeinfo;

time ( &rawtime );
timeinfo = localtime ( &rawtime );
NSLog(@"TESTSTART - TEST START");
// Check
if(timeinfo->tm_hour == 12 && timeinfo->tm_min == 01 && timeinfo->tm_sec == 48)
{
    NSLog(@"Run Method");

    printf("the time is 12:01:48");
}    else {
    NSLog(@"ELSE");

    [self syncTest];
}
}

これは12:1:48にメソッドを実行しますが、これを行うための許容できる方法ではない可能性があります。誰かがこれを行うためのより良い方法と、この方法がCPUにどれほどの負担をかけるかを知っていますか?ありがとう

4

1 に答える 1

1

を使用して、タイマーを起動する日付をNSTimer設定しfireDate、タイマーが起動したという通知をキャッチして、タスクを実行します。

于 2012-06-13T16:56:33.413 に答える