- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在为 iPhone 开发一个应用程序,它从车辆收集大量数据,然后将其上传到远程服务器。该应用程序本身将安装在车辆中,连接到电池供电,并在其大部分生命周期内无需太多用户交互即可收集数据。鉴于此,重要的是这些上传在后台进行,并且应用程序被“唤醒”成为进行上传的系统。此外,这是一个企业应用程序,因此该应用程序不需要通过 Apple 的批准。
考虑到这些要求,我曾认为 Apple 的新 iOS 7 后台获取 API 会是解决我的问题的好方法。当然,由于我没有完全按预期使用它,所以有些事情可能会给我带来一些问题,我想澄清一下。
看完有关新 API 的 WWDC 视频后,我了解到 iOS 将尝试识别应用程序的使用模式,并仅在使用前将其唤醒。如果应用很少打开,是否会导致它最终停止执行这些后台更新?
当我使用这个 API 时,我得到的完成处理程序 block 将 UIBackgroundFetchResult 作为参数。如果我每次都传入 UIBackgroundFetchResultFailed,这是否会导致 iOS 认为我仍然需要新数据并不断唤醒应用程序?
最后,由于我显然以不同于预期的方式使用此 API,有人可以推荐一种更好的方法来执行此操作,同时仍能满足我的要求吗?
最佳答案
考虑到这一点:“应用程序本身将安装在车辆中,连接到电池供电,并且在其生命周期的大部分时间里无需太多用户交互即可收集数据”和“此外,这是一个企业应用程序,因此该应用程序不需要通过 Apple 的批准。”,为什么还要费心后台获取 API?
选择一种后台模式,例如 VOIP,然后在后台模式下运行您的任务。即使屏幕被锁定,您的网络连接也将保持事件状态并执行任何发送/接收。
关于ios - 后台长时间运行的上传任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20576302/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!