我在使用iOS上的背景技术时遇到了一些麻烦。首先,让我给一个简短的说明:在iOS中使用Xamarin.iOS(C#)创建背景:我应该使用哪种方法?
我为一家工作管理公司工作,该公司可以接收和分发工单查找工具。用户可以从我们的服务器上下载票据,处理它们,并将他们的回复发送回我们的服务器。下载的票据进入本地SQLite数据库,并且用户做出的响应存储在另一个本地SQLite数据库中。我的同事写的Android应用在Xamarin与C#和他的智能化进程,下载门票和上传回复如下:从我们的服务器
- 下载门票到本地SQLite数据库的“入场券”
- 检查当地的“回应”的SQLite数据库,看是否有做
- 反应订做的话有反应,将其发送到我们的服务器
- 等待5分钟
- 重复
这允许用户初始下载一批票并开始工作。如果此过程在用户没有互联网的情况下运行,则不会发生任何事情,并且定时器将重置。这个过程将允许用户在没有互联网的情况下对票据作出响应,并且每当他们有互联网时就会上传响应/下载新票券。
我的问题是,在iOS上,背景比在Android上限制得多。有后台提取,然后有推送通知。通过后台获取,系统“计算出运行PerformFetch
方法的最佳机会”,并且不会给我必要的严格的5分钟计时器。通过推送通知,如果用户没有互联网,他们将永远不会收到推送通知。
我真的很希望能够像上面描述的那样简单地设置一个5分钟的定时器,并且让程序运行,检查是否有任何新票和发送任何新的答复,如果有任何礼物。但由于iOS背景的限制性质,我无法做到这一点。
有什么建议吗?他们会更感激。
谢谢。