ios – 即使我的应用没有运行,网络重新连接后保证上传的传输

ios – 即使我的应用没有运行,网络重新连接后保证上传的传输,第1张

概述我正在指定一个iOS应用程序(将在我们公司之外构建),它将用户的数据条目上传到服务器.如果设备未连接到Internet,我们希望在设备上保存数据并在重新连接网络时上传数据. (该应用程序将主要在大多数时间将断开连接的iPod Touch设备上运行). 如果用户在重新连接网络后解锁设备并重新打开我们的应用程序,那么上传到服务器应该很容易,因为应用程序正在运行. 但是,如果应用程序没有运行,“不运行” 我正在指定一个iOS应用程序(将在我们公司之外构建),它将用户的数据条目上传到服务器.如果设备未连接到Internet,我们希望在设备上保存数据并在重新连接网络时上传数据. (该应用程序将主要在大多数时间将断开连接的iPod touch设备上运行).

如果用户在重新连接网络后解锁设备并重新打开我们的应用程序,那么上传到服务器应该很容易,因为应用程序正在运行.

但是,如果应用程序没有运行,“不运行”可能意味着以下一个或多个:

>设备重启电源
>用户已锁定设备并将其放在口袋中
> app崩溃了
>用户退出了应用程序
>用户开始使用其他应用程序,因此我们的应用程序不再在前台运行
>还有其他情况吗?

在上述情况下,有没有办法(理想情况下是节省电池的方式)确保在恢复互联网连接后很快上传本地数据?答案是否有所不同,具体取决于上述哪些案例导致应用程序无法运行?

设备是否需要最低iOS版本,以便在应用程序未运行时仍能上传部分(或全部)上述未运行的案例?

如果这些是明显的新手问题我很抱歉 – 我不是iOS专家.

解决方法 有一种有趣的技术可供 Instapaper和 News.me(此技术的先驱)使用,您可以使用区域监控来启动后台下载或上传. marco(Instapaper)在博客上发表了关于他与Apple沟通的博客( episode 80 of the Build and Analyze podcast),因此它应该是App Store中允许的.

简而言之,该技术是您设置某些区域(地理围栏),如“home”或“work”,并响应locationManager:dIDEnterRegion :(和类似的)回调.进入预先指定的区域后,您的应用程序将从后台唤醒,您可以查看是否有任何数据要上传.

此技术无法保证在网络重新连接时上传数据,但是当iPod touch用户回到WiFi网络时,它将允许您的应用自动上传信息.

这应该最有可能是每天至少一次,可能会或可能不会经常发生.您可以在尝试初始上载时添加时间戳,并在成功获取服务器上正确的事件顺序(数据条目)后沿上载发送该时间戳.

总结

以上是内存溢出为你收集整理的ios – 即使我的应用没有运行,网络重新连接后保证上传的传输全部内容,希望文章能够帮你解决ios – 即使我的应用没有运行,网络重新连接后保证上传的传输所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存