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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于iOS 9 +,后台Fetch在Xamarin.ios上运行一次相关的知识,希望对你有一定的参考价值。

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

答案

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

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

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

以上是关于对于iOS 9 +,后台Fetch在Xamarin.ios上运行一次的主要内容,如果未能解决你的问题,请参考以下文章

iOS支付宝 9.x 版本首页效果

无法在 ios 9 中为 AVCaptureDevice 访问相机。

iOS 9 通用链接(Universal Links)

Xcode 9 —进阶的 iOS Simulator

根据内容的 UITextView 高度在 iOS 9 中是错误的

Socket.io 无法在 Android 9(API 级别 28)上运行