Xamarin.forms iOS在后台是否有与PeriodicWorkRequest等效的周期?

Xamarin.forms iOS在后台是否有与PeriodicWorkRequest等效的周期?,xamarin.forms,xamarin.android,xamarin.ios,background-process,androidx,Xamarin.forms,Xamarin.android,Xamarin.ios,Background Process,Androidx,我们正在开发Xamarin.Forms应用程序。 我们需要做的一个机制是在后台上传一堆图像,如果失败,请重试,直到成功 对于Android来说,这非常简单: using AndroidX.Work; ... PeriodicWorkRequest uploadWorkRequest = PeriodicWorkRequest.Builder.From<UploadWorker>(TimeSpan.FromMinutes(20)).Build(); Wo

我们正在开发Xamarin.Forms应用程序。
我们需要做的一个机制是在后台上传一堆图像,如果失败,请重试,直到成功

对于Android来说,这非常简单:

using AndroidX.Work;
...
        PeriodicWorkRequest uploadWorkRequest = PeriodicWorkRequest.Builder.From<UploadWorker>(TimeSpan.FromMinutes(20)).Build();
        WorkManager.Instance.Enqueue(uploadWorkRequest);
显然,iOS不存在这种机制,但应该有在后台运行任务并在任务失败时重复的功能


iOS是否有与PeriodicWorkRequest等效的周期性工作请求?

在iOS中,我们可以使用NSTimer来执行一些重复的任务

_timer = NSTimer.CreateRepeatingScheduledTimer(TimeSpan.FromSeconds(20), () =>
{
    this.InvokeOnMainThread(()=>{
        //Your code goes here
    });
}
启动计时器

timer.Fire();
停止计时器(离开当前ViewController时调用它)


嗨,卢卡斯。我假设这也适用于背景。我可以看到
this.InvokeOnMainThread
的后台任务,你可以检查。我不能,卢卡斯,我要求的是后台机制。如果我不清楚的话,我很抱歉。你检查过上面的链接吗?在发布问题之前,我已经阅读了关于背景工作的文章,而且链接在答案中而不是评论中被认为是良好的做法。此外,答案中的链接也不受欢迎,因为它们有随着时间推移而消亡的趋势。首选的是一个完全包含代码的解决方案,它可以被将来需要它的所有其他灵魂重用。此类解决方案在我的书中获得+35,被接受和+1;)
timer.Fire();
_timer.Invalidate();