对于iOS 9 +,后台Fetch在Xamarin.ios上运行一次

问题描述 投票:0回答:1

我想在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函数上重复调用是否还需要做其他事情?我在应用程序证书上添加了推送通知,但没有任何改变。

ios push-notification notifications xamarin.ios background-fetch
1个回答
0
投票

后台提取可能比1小时花费更多时间。您可以设置获取提取所需的最短时间,但不能设置最大值。

系统本身将确定是否有一个好的情况来获取。

更多信息在获取少量内容机会主义部分:https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

© www.soinside.com 2019 - 2024. All rights reserved.