我想在Xamarin.ios中进行后台提取。
我按照本教程:https://github.com/Redth/iOS.BackgroundFetch.Sample,当我在模拟器上运行应用程序时,在后台获取模式下,应用程序只调用一次PerformFetch方法而不是更多! (我等了1个小时,什么也没发生)
在info.plist中,我打开了后台模式和后台获取,在xml文件中,我有:
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
</array>
在FinishedLaunching中我有:
UIApplication.SharedApplication.SetMinimumBackgroundFetchInterval(UIApplication.BackgroundFetchIntervalMinimum);
这是我的PerformFetch函数:
public override void PerformFetch(UIApplication application, Action<UIBackgroundFetchResult> completionHandler)
{
completionHandler(UIBackgroundFetchResult.NoData);
}
在PerformFetch函数上重复调用是否还需要做其他事情?我在应用程序证书上添加了推送通知,但没有任何改变。
答案 0 :(得分:0)
后台获取可能比1小时花费更多时间。您可以设置获取提取所需的最短时间,但不能设置最大值。
系统本身将确定是否有一个好的情况来获取。
在“获取少量内容机会”部分的更多信息部分: https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html