作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 Swift 程序,可以根据特定条件获取用户位置并将该位置保存到本地数据库。
应用程序也可以在后台运行。由于我需要获取非常准确的位置,因此获取位置最多可能需要 60 秒。如果在不到 5 秒内确定位置,则应用程序在后台运行时一切正常。如果获取位置的时间超过 5 秒,则什么也不会发生。我认为原因是因为你只有几秒钟的时间来完成后台任务。
那么是否可以请求后台任务最多运行 60 秒?我是否需要添加任何特殊代码来告诉操作系统请允许更多时间(最多 60 秒)让后台任务完成?
最佳答案
是的。
使用 UIApplication
函数 beginBackgroundTaskWithExpirationHandler:
。在最新版本的 iOS 中,这给你 3 分钟的时间来完成你正在做的任何事情。有关详细信息,请参阅 Xcode 文档。
关于ios - 如何让应用程序在后台运行更长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36143003/
我是一名优秀的程序员,十分优秀!