アプリケーションに関係なく1時間ごとにメソッドをトリガする方法はアクティブかバックグラウンドか終了します。 メソッドは1時間ごとにトリガする必要があります。アプリをアクティブ、バックグラウンド、または終了に関係なく1時間ごとにメソッドをトリガーする方法
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:60*60 target:self selector:@selector(callYourMethod:) userInfo:nil repeats:YES];
私はNSTimerは時間の10分後に動作しないことを聞きました。
は、局所的にこのタイプのタスクを管理する方法にiOSのObjecitve-C
これを実行する確実な方法はありません。タイマーに時間制限があると言った人は誰でも、間違っている、またはコンテキストがありません。アプリが終了した場合は、プッシュキット通知などの外部トリガーを使用してアプリを再度起動する必要があります。バックグラウンドではほとんど同じですが、目を覚ますための選択肢が増えています。 PKは最も近いものの、100%信頼できるものはありません。もちろん、あなたのアプリはそれを使うためのVoIPアプリでなければなりません。 – Avi
毎時間何かする必要がありますか?これはモバイルアプリのデザインが悪いためです。この方法でバッテリーを消耗します。ユーザーがあなたのアプリを殺した場合、タスクは完了しません。あなたはこのサーバー側をやって、必要に応じてプッシュ通知を使用してアプリにプッシュする方がよいでしょう。また、VOIP、オーディオ、ロケーション、アクセサリーアプリだけをバックグラウンドで実行できます。あなたのアプリをバックグラウンドで実行させるためにこれらのうちの1つを悪用すると、あなたのアプリが拒否されます。 – rckoenes
タイマーはメインスレッドで動作します。アプリケーションがバックグラウンドになると、タイマーは無効になります。したがって、アプリケーションがバックグラウンドになると、同じことをすることはできません。 –