8

バックグラウンドフェッチに関するAppleのドキュメントをすべて読みましたが、現在は次のように使用しています。

[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:minimumBackgroundFetchInterval];

バックグラウンド フェッチを実行するタイミングを OS に決定させますが、次のように設定すると、次のようになります。

[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:21600];

これは、フェッチが 6 時間ごとに行われるということですか?

4

3 に答える 3

18

「UIApplicationBackgroundFetchIntervalMinimum」間隔を与えて、iOS10とiPhone6Plusでいくつかの実験を行いました。(もちろん、ネットワーク関連のメソッドをいくつか呼び出して、iOS にアプリが実際に機能しているというヒントを与えました...そして completionHandler(UIBackgroundFetchResultNewData); を呼び出します)

I got: (一晩中実行)

00:35 01:03 01:31 01:59 02:27 02:55 03:13 03:23 03:51 04:19 04:35 05:04 05:25 05:59 06:27 06:56

そのため、デルタは 10 分から 34 分まで変化します。

于 2016-07-18T05:25:21.467 に答える
5

いいえ、バックグラウンド フェッチが実行される前に少なくとも 6 時間経過する必要があることを iOS に提​​案していることを意味しますが、このプロパティのドキュメントには次のように記載されています。

別のバックグラウンド フェッチを開始する前に経過する必要がある最小秒数。この値は参考値であり、フェッチ操作間の正確な時間を示すものではありません。

そのため、バックグラウンド フェッチが実行されるまでに 6 時間以上かかる場合がありますが、それ以下になることはありません。また、iOS は、新しいデータがあったかどうかを示す完了ハンドラーを介して返された値に注意し、アプリの新しいデータがある可能性が高い時刻を判断しようとします。

于 2015-02-07T10:40:11.210 に答える