在我们的应用程序中,用户可以跟踪和提交他们记录的旅程。我需要一种在iOS中创建任务的简单方法。我已经在Android上创建并测试了它。通过以下方式起作用:
总之,我如何在iOS 9-13上实现这一目标?
我已经尝试使用以下方法创建后台安全任务:
nint taskID = UIApplication.SharedApplication.BeginBackgroundTask(()=> {});
但是,这仅使任务运行2分钟是不够的。我研究了NSURlSession,但是它们需要URls,而我们使用的是自己的API包装器。
我只想在用户点击“同步”时创建一个任务,并且该任务也能够在后台运行。如果在关闭应用程序后取消任务,我不会太在意,尽管在可能的情况下希望任务继续进行。
谢谢。
答案 0 :(得分:0)
我建议您利用Shiny来实现它。
答案 1 :(得分:0)
PerformFetch
是最接近您要求的内容,它将在后台运行并在iOS认为需要时更新您的应用程序(它预测,根据以前的行为,用户很快就会打开您的应用程序并且新的内容可用)。
唯一的替代方法是在您希望更新应用程序时发送推送通知。
仅此而已,我理解您的愿望,但这仅仅是-一个愿望,而不是真实的事情。
答案 2 :(得分:0)
即使已放置该应用程序,该服务仍将继续同步旅程 进入后台甚至关闭。
首先,如果您的应用is closed
在iOS中,我确定不能在后台运行任何服务。
然后,如果您的应用is put into background
,则Apple有严格的限制,允许应用在后台运行。 background-tasks有时间限制,您可以阅读文档了解更多信息。有一个有关handling-background-task-time-limits的部分,您可以尝试一下。
此外,Apple允许某些特定的应用程序在后台运行,这些应用程序必须在后台执行任务。例如,需要在后台play music
,在后台update location
等的应用。您可以看到Application Registration Categories here。如果您的应用满足该要求,则可以从系统中申请后台运行许可。