如果我在PerformFetch中有一个函数来在iOS中执行后台提取。Xamarin iOS:当后台处理程序调用后台提取时最终会被调用
我在PerformFetch中有“finally”声明。当后台抓取过期时,finally块也会调用。 或者,它会直接进入ExpirationHandler块由OS杀死应用程序之前做清理
如果我在PerformFetch中有一个函数来在iOS中执行后台提取。Xamarin iOS:当后台处理程序调用后台提取时最终会被调用
我在PerformFetch中有“finally”声明。当后台抓取过期时,finally块也会调用。 或者,它会直接进入ExpirationHandler块由OS杀死应用程序之前做清理
当PerformFetch
(application:performFetchWithCompletionHandler:
)被称为在背景你〜30秒,从该方法或返回过程将被终止。
如果终止,您的代码将永远与你PerformFetch
覆盖进入finally
块,也不会WillTerminate
(applicationWillTerminate:
)被调用。这会被iOS视为UIBackgroundFetchResult.Failed
,因为PerformFetch
未返回。
如果您在PerformFetch
内标记通过BeginBackgroundTask
(beginBackgroundTaskWithName:expirationHandler:
)的一些代码块的开始,然后是,当操作系统终止PerformFetch
的expirationHandler
被调用。