ios - 在后台模式下实现更新位置到服务器 - iOS

标签 ios

我想做的是:

定期(每 10 分钟)将 iOS 设备的当前位置更新到我的服务器,即使我的应用程序处于后台模式。

我做了什么:

  1. 在 plist 中添加 Required Background Modes;并询问 requestAlwaysAuthorization。

  2. 在设置中设置本应用的后台刷新。

  3. 设置一个 NSTimer 以定期获取位置(使用 CLLocationManager)。

  4. 当调用 locationManager: didUpdateLocations: 委托(delegate)时,更新位置使用 HTTPGET 到服务器。 我的问题: 应用程序在前台运行正常,但更新位置方法不在后台运行,服务器无法接收我的位置数据。

谢谢。

最佳答案

请检查您是否已从项目设置 -> 目标 -> 功能中启用后台模式中的位置。

enter image description here

我建议您使用 startMonitoringVisits() 和 locationManager(_:didVisit:) 委托(delegate)来获取用户位置,而不是每 10 分钟将位置发送到服务器。因为您的方法会消耗太多电量。

关于ios - 在后台模式下实现更新位置到服务器 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30748458/

相关文章:

ios - UITextView 结合了文本和图像

ios - 无法修改 UICollectionView 中的 UILabel 框架?

ios - 选择任何网站时如何在 xcode 的文本字段中加载 URL?

iOS 7.1 更新在 uitextfields 之间切换时崩溃,原因为 setObjectForKey : object cannot be nil (key: NSShadow)

ios - UIColor `-colorWithPatternImage:` alpha 混合问题解决方案。 (iOS SDK 4.1)

ios - Firebase iOS 分发法拉第服务器错误 403

ios - MapBox ios 禁用 map 上的滚动

ios - UILabel中的阴影

ios - 如果我使用两个文本字段,如何设置键盘

ios - png 中的阴影路径与阴影