リージョンを監視するアプリをテストしてから、ウェイクアップして処理を行います。ウォッチドッグタイマーが作動してアプリを強制終了する前に、バックグラウンドで作業を行う必要がある時間を示すドキュメントがどこにも見つからないようです。
2 に答える
背景に関連するタイミングのほとんどが示されている文書(私は公式のものだと信じていますが)を見ました。しかし、今は見つかりません(見つけてここに投稿します)。
私の経験によると、アプリケーションは10秒間起動され、場所が大幅に変更されると思います。また、backgroundTimeRemainingを呼び出そうとすると、この10秒間+ INFINITYが返されるという興味深い点もあります(一般的に、このAPIはbeginBackgroundTaskWithExpirationHandler用にのみ設計されています:)
アップデート1
ごめん。そのドキュメントを見つけることができませんでした。以前(約6ヶ月前)iOSのバックグラウンドで情報を検索しているときに頻繁にヒットしたので、Appleによって削除/更新されたように感じます。
私はいくつかの興味深いものを見つけました。1つはここにあります。これはVOIPコールバックに関連しています。
「ハンドラーは、必要なタスクを実行して終了するのに最大10秒かかります。時間が経過する前にハンドラーが終了しない場合、アプリケーションは一時停止されます。」
また、 Bluetoothの場合も同じ10秒がここに記載されています。
「起動すると、アプリはデータを処理するのに約10秒かかります。」
ロケーションマネージャーのウェイクアップ、VOIPとBluetoothのウェイクアップの基本的なメカニズムはまったく同じであり、すべてが10秒の実行時間を許可すると思います/
最大10分間のバックグラウンドタスクに登録できます。ただし、呼び出されたメソッドを実行できる期間を知りたい場合は、無限のwhileループで測定してみてください。