在我们的应用程序中,用户可以跟踪并提交他们记录的旅程。我需要一种在 iOS 中创建任务的简单方法。我已经在 Android 上创建并测试了它。它的工作原理是:
- 用户选择他们想要提交的旅程。
- 点击同步并创建一个前台服务,将旅程同步到我们的 API。
- 即使应用程序置于后台甚至关闭,该服务也将继续同步旅程。
简而言之,我如何在 iOS 9-13 上实现这一目标?
我已经尝试使用以下方法创建后台安全任务:
nint taskID = UIApplication.SharedApplication.BeginBackgroundTask( () => {});
然而,这只给任务运行 2 分钟的时间,这还不够。我研究了 NSURlSessions,但它们需要 URls,而我们正在使用我们自己的 API 包装器。
我只是想要一种在用户点击“同步”时创建任务的方法,并且该任务也能够在后台运行。如果应用程序关闭时任务被取消,我并不太担心,但如果可能的话希望任务继续。
Thanks.
即使应用程序被放置,此服务也将继续同步旅程
进入后台甚至关闭。
首先,如果您的应用程序is closed
在 iOS 中,我确信不能在后台运行任何服务。
那么如果你的应用程序is put into background
,苹果对允许应用程序在后台运行有严格的限制。后台任务有时间限制,您可以阅读文档了解更多信息。有一节是关于处理后台任务时间限制你可以尝试一下。
此外,Apple 允许某些特定应用程序在后台运行,这些应用程序必须在后台执行任务。例如,应用程序需要play music
在背景中,update location
在背景等中你可以看到此处申请注册类别。如果您的应用满足那里的要求,您可以向系统申请后台运行权限。
Refer: Xamarin.iOS 中的后台
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)