1

iOS 7 で新しいバックグラウンド フェッチ モードを使用しています。ユーザーのクラッシュ ログには、次のようなものがたくさんあります。

MyApp[11893] has active assertions beyond permitted time: 
{(
    <BKProcessAssertion: 0x176afef0> identifier: Background Content Fetching (3281) process: MyApp[11893] permittedBackgroundDuration: 30.000000 reason: backgroundContentFetching owner pid:33 preventSuspend  preventThrottleDownUI  preventIdleSleep  preventSuspendOnSleep 
)}

更新に許可された 30 秒よりも長い時間がかかり、システムによって強制終了されているため、これが発生していると思います。明らかに多くの外的要因に依存しているため、取得に 30 秒未満かかることを保証するためにできることは何もありません。

さて、これは非常に合理的な動作のように思えますが、ログをクラッシュさせたり汚染したりする必要がありますか? 時間を監視して、時間が不足し始めた場合は早め[UIApplication sharedApplication].backgroundTimeRemainingに連絡する必要がありますcompletionHandlerか、それとも正しく行っていますか?

4

2 に答える 2