iOSでバックグラウンドフェッチを行うためにPerformFetchに関数があるとします。Xamarin iOS:バックグラウンドフェッチで呼び出された有効期限切れのハンドラが呼び出されたときに最後に呼び出されます
PerformFetchの中に「finally」ステートメントがあります。バックグラウンドフェッチが期限切れになると、finallyブロックも呼び出しを取得します。 それとも、OSによって殺さ適用前にクリーンアップを行うにExpirationHandlerブロックに直進します
iOSでバックグラウンドフェッチを行うためにPerformFetchに関数があるとします。Xamarin iOS:バックグラウンドフェッチで呼び出された有効期限切れのハンドラが呼び出されたときに最後に呼び出されます
PerformFetchの中に「finally」ステートメントがあります。バックグラウンドフェッチが期限切れになると、finallyブロックも呼び出しを取得します。 それとも、OSによって殺さ適用前にクリーンアップを行うにExpirationHandlerブロックに直進します
PerformFetch
(application:performFetchWithCompletionHandler:
)は、そのメソッドまたはそれと返すために〜30秒を持ってバックグラウンドで呼び出された場合プロセスは終了する。終了した場合
は、あなたのコードは、あなたのPerformFetch
オーバーライドしてfinally
ブロックに入ることはありません、またWillTerminate
(applicationWillTerminate:
)が呼び出されます。 PerformFetch
が返されなかったため、これはiOSによってUIBackgroundFetchResult.Failed
として処理されます。
あなたがPerformFetch
内BeginBackgroundTask
(beginBackgroundTaskWithName:expirationHandler:
)を経由して、コードのいくつかのブロックの開始をフラグが立てられた場合はい、OSはPerformFetch
を終了するときexpirationHandler
が呼び出されます。