Iphone CLLocationManager地理围栏/StartMonitoring for Region:vs.StartMonitoring for SignificantLocationChanges:vs.10分钟StartDating电话
我正在尝试设置一个应用程序,该应用程序将能够在后台检查人们的位置,查看他们是否在给定位置,如果他们在,则向服务器发送ping。我们不想消耗用户的精力,所以我们正试图找出最佳解决方案 我已经做了大量的阅读,我还没有找到很多关于这些方法的信息。我现在就按照自己的理解来分析利弊 开始监测重大变化 描述:基于wi-fi和cell tower的关闭,系统会唤醒应用程序 : 一旦设备移动500米,应用程序就会收到通知 或比以前的通知更高。它不应该期待 通知频率高于每五分钟一次。如果 设备能够从网络、位置管理器中检索数据 更有可能及时发送通知 优点:Iphone CLLocationManager地理围栏/StartMonitoring for Region:vs.StartMonitoring for SignificantLocationChanges:vs.10分钟StartDating电话,iphone,ios,objective-c,core-location,cllocationmanager,Iphone,Ios,Objective C,Core Location,Cllocationmanager,我正在尝试设置一个应用程序,该应用程序将能够在后台检查人们的位置,查看他们是否在给定位置,如果他们在,则向服务器发送ping。我们不想消耗用户的精力,所以我们正试图找出最佳解决方案 我已经做了大量的阅读,我还没有找到很多关于这些方法的信息。我现在就按照自己的理解来分析利弊 开始监测重大变化 描述:基于wi-fi和cell tower的关闭,系统会唤醒应用程序 : 一旦设备移动500米,应用程序就会收到通知 或比以前的通知更高。它不应该期待 通知频率高于每五分钟一次。如果 设备能够从网络、位置管理
- 电池效率最高
- 取决于wi-fi/手机发射塔的变化
- 只能假设每200m到2km调用一次(如果在某些区域不是更多)
- 因此,不一致和不精确
- 一致的
- 可以像您希望的那样准确,也可以像您希望的那样始终如一 想要吗
- 必须每十分钟或更短的时间打一次电话,才能让应用程序在短时间内运行 背景(即呼叫数不能大于10)
- 简单实现
- 由系统管理,因此您不必发明自己的特殊地理围栏,只需在边界过境时触发。。。没有不必要的数据,只需扔掉电池就可以了
- 因此,对于这类事情,应该是最好的、准确的、由系统管理的
- 关于它是否有利于电池寿命,或者是否 耗尽电池的寿命
- 系统是如何监控的李>
- 基本上,不确定的行为
非常感谢!期待着看看我们是否能找到比较这些方法的方法。我已经用GPS跟踪车辆两年了。通过艰苦的方式学到了很多。。。根据我的经验,区域或地理围栏的StartMonitoring取决于小区更改事件,只有在发生小区/wifi更改事件时,才会触发didEnter或didExit事件。因此,这与w.r.t电池消耗没有任何区别。然而,它会进行额外的计算,这取决于当前被监控的区域数量。即使是苹果的提醒应用程序也不能为基于位置的提醒提供良好的效果,因为它使用了地理围栏 另一种方法是在每m分钟后启动GPS n分钟,这是一个很好的选择,如果操作得当,不应影响电池寿命。电池的确切作用是在高精度模式下持续激活GPS。例如,如果您使用kCLLocationAccuracyBest和distance filter=0启用GPS,您可以观察电池电量耗尽情况,很快您的设备也会变得越来越热 如果我是你,我会使用kCLLocationAccuracyBest(或者可能是kCLLocationAccuracyNearestTenMeters,如果精度不是那么重要的话)和距离过滤器=5(米),每10分钟激活一次GPS,持续5秒。在这种情况下,电池消耗将不明显。您可以使用类似的设置来解决您的具体情况,并最终找出最适合您的设置
顺便说一句:iPhone使用AGPS,A-GPS还使用网络资源在恶劣信号条件下定位和使用卫星。因此,当您进行startUpdatingLocation时,它还将使用附近的信号塔信息。请参见+1以获得简洁的概述非常感谢您提供了一个非常全面和有用的答案!我如何在我的应用程序中安装地理围栏对于iOS来说是全新的请检查此问题并