美文网首页
iOS 关于《定位服务》后台一直开启的解决办法

iOS 关于《定位服务》后台一直开启的解决办法

作者: Ran_戈 | 来源:发表于2017-03-30 17:03 被阅读0次

            最近公司要做停车自动标记车辆位置的功能,这是室内定位反向寻车系统的前提条件,也是室内定位技术刚需!

    解决思路:

            刚开始想到该技术通过传感器中加速度计、计步器等数据,通过一系列算法计算分辨出,“人行”/“车行”。从而通过时间戳对照到GPS定位点,从而做到标记车辆位置到地图上!

            经过测试iPhone 计步器和加速度计,发现当用户把手机锁屏或者APP挂起状态时候,计步器和加速度计,GPS都不会在后台发送数据,(因为要通过收集数据才能分析处理,所以挂起状态不发送数据从而不能从这思路解决问题)通过查阅资料,发现GPS定位服务可以在后台一直处于运行状态,以下是解决办法:

    1、 首先把定位服务的后台启动模式打开 如图 1

    图 1

    2、设置CLLocationManager的属性,如图2。     

     提示:  1)2)3)4)一步不能少,少了APP就不能在后台一直运行了。

      1) 定位管理者需要一直请求定位服务,requestAlwaysAuthorization;

      2)需要允许后台更新数据更新,setAllowBackgroundLocationUpdates;

      3)  设置不允许暂停自动刷新数据功能,pusesLocationUpdatesAutomatically = NO;

      4)设置定位更新的最小距离为空,kCLDistanceFilterNone;

    图 2

    然后经过测试,定位服务和计步器、传感器都能在挂起状态不能被KILL掉。

    注意: 之前没有设置2的  3) 4)的时候,APP有时候会在16分钟,18分钟,20分钟左右不发送用户位置,和计步器、传感器数据。一定要把3)4)设置正确。

    相关文章

      网友评论

          本文标题:iOS 关于《定位服务》后台一直开启的解决办法

          本文链接:https://www.haomeiwen.com/subject/surpottx.html