# 在didRangeBeacon中打印beacon的距离-1m是什么意思？

**URL:** <https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191>\
**Category:** AprilBeacon\
**Created:** [June 30, 2015, 9:54am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191 "2015-06-30T09:54:28Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![beacondeveloper](https://bbs.aprbrother.com/letter_avatar_proxy/v4/letter/b/df788c/32.png) [@beacondeveloper](https://bbs.aprbrother.com/u/beacondeveloper)\
**Post date:** [June 30, 2015, 9:54am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/1 "2015-06-30T09:54:29Z")

</div>

我在didRangeBeacon中打印获取的beacon，有好多返回的距离是-1m，这是什么意思，意思是这些beacon都不在范围内么？还有一部分是几米，十几米，几十米，是不是跟设置的beacon功率有关系，如果在功率范围内，就可以监测到距离，没有在范围内，就显示-1m？ 我现在是通过didRangeBeacon中beacon得距离进行自定义通知，我通过距离在10m内，认为进入区域，通知用户进入，我如何在方法内获得设备已经离开？纠结死了！

---

<div class="post-metadata">

**Author:** ![markss](https://bbs.aprbrother.com/user_avatar/bbs.aprbrother.com/markss/32/17_2.png) [@markss](https://bbs.aprbrother.com/u/markss)\
**Post date:** [June 30, 2015, 10:32am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/2 "2015-06-30T10:32:16Z")

</div>

-1是表示这个beacon 比较远了，偶尔能出现距离，你可以把它当成不在范围，  
如果某个beacon超过连续3个值都不在你设定的距离外，你可以把它当成离开了呀。

---

<div class="post-metadata">

**Author:** ![beacondeveloper](https://bbs.aprbrother.com/letter_avatar_proxy/v4/letter/b/df788c/32.png) [@beacondeveloper](https://bbs.aprbrother.com/u/beacondeveloper)\
**Post date:** [July 1, 2015, 1:39am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/3 "2015-07-01T01:39:46Z")

</div>

恩，了解了，有个事情不太清楚，假如我调试时，这一次编译完成，监测了一些beacon，然后修改了些东西，再次编译，又监测了另外一些beacon，那之前监测的beacon就不会监测了吧，不会对现在的beacon造成干扰吧？不是监测了一些beacon之后，系统会自动记录他并且监测么？

---

<div class="post-metadata">

**Author:** ![markss](https://bbs.aprbrother.com/user_avatar/bbs.aprbrother.com/markss/32/17_2.png) [@markss](https://bbs.aprbrother.com/u/markss)\
**Post date:** [July 1, 2015, 1:52am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/4 "2015-07-01T01:52:25Z")

</div>

会记录，如果不想检测，你必须暂停，你可以通过  
`@property (readonly, nonatomic, copy) NSSet *monitoredRegions @property (readonly, nonatomic, copy) NSSet *rangedRegions`  
查看当前monitored和ranged有哪些值。

---

<div class="post-metadata">

**Author:** ![beacondeveloper](https://bbs.aprbrother.com/letter_avatar_proxy/v4/letter/b/df788c/32.png) [@beacondeveloper](https://bbs.aprbrother.com/u/beacondeveloper)\
**Post date:** [July 1, 2015, 4:19pm UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/5 "2015-07-01T16:19:00Z")

</div>

当某个beacon从有距离，到出现-1，中间会出现几次-1的情况，才彻底检查不到这个iBeacon，通过连续出现3次的话靠谱么？

---

<div class="post-metadata">

**Author:** ![markss](https://bbs.aprbrother.com/user_avatar/bbs.aprbrother.com/markss/32/17_2.png) [@markss](https://bbs.aprbrother.com/u/markss)\
**Post date:** [July 2, 2015, 1:35am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/6 "2015-07-02T01:35:23Z")

</div>

连续几次你是可以控制的。目前实践的效果3次还是不错的。

---

<div class="post-metadata">

**Author:** ![beacondeveloper](https://bbs.aprbrother.com/letter_avatar_proxy/v4/letter/b/df788c/32.png) [@beacondeveloper](https://bbs.aprbrother.com/u/beacondeveloper)\
**Post date:** [July 2, 2015, 2:12am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/7 "2015-07-02T02:12:39Z")

</div>

不了解怎么控制，比如现在是0.5m,移动之后变成-1，然后停留一下移动，有变成0.1m，这样的话就必须重新计算次数吧，我们如何控制它连续出现几次-1？

---

<div class="post-metadata">

**Author:** ![markss](https://bbs.aprbrother.com/user_avatar/bbs.aprbrother.com/markss/32/17_2.png) [@markss](https://bbs.aprbrother.com/u/markss)\
**Post date:** [July 2, 2015, 2:21am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/8 "2015-07-02T02:21:53Z")

</div>

连续三次， -1 -1 -1这算失效， -1 -1 0.5m 算正常。

---

<div class="post-metadata">

**Author:** ![beacondeveloper](https://bbs.aprbrother.com/letter_avatar_proxy/v4/letter/b/df788c/32.png) [@beacondeveloper](https://bbs.aprbrother.com/u/beacondeveloper)\
**Post date:** [July 2, 2015, 3:19am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/9 "2015-07-02T03:19:11Z")

</div>

恩，有个问题我们需要确定一下，因为我们的UUID都是微信的UUID，所以初始化的时候，只初始化UUID的region，当走到一个beacon比较多的区域，一开始会出发enter方法，如果在didRangeBeacon中不初始化获取到beacon的UMM的话，那就是只进入一次enter方法是么？不会走到任意一个beacon区域的时候，都触发enter方法，是这样么？

---

<div class="post-metadata">

**Author:** ![markss](https://bbs.aprbrother.com/user_avatar/bbs.aprbrother.com/markss/32/17_2.png) [@markss](https://bbs.aprbrother.com/u/markss)\
**Post date:** [July 2, 2015, 3:32am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/10 "2015-07-02T03:32:21Z")

</div>

didRangeBeacon 你只需要uuid 就能range到该uuid的所有beacon呀，如果你周围beacon太多，你用monitored监控是不合适的。[RegionMonitoring](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/RegionMonitoring/RegionMonitoring.html).

---

<div class="post-metadata">

**Author:** ![beacondeveloper](https://bbs.aprbrother.com/letter_avatar_proxy/v4/letter/b/df788c/32.png) [@beacondeveloper](https://bbs.aprbrother.com/u/beacondeveloper)\
**Post date:** [July 2, 2015, 3:39am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/11 "2015-07-02T03:39:30Z")

</div>

恩，对，如果beacon太多的话，用- (instancetype)initWithProximityUUID:(NSUUID \*)proximityUUID major:(CLBeaconMajorValue)major minor:(CLBeaconMinorValue)minor identifier:(NSString \*)identifier;这个方法是不合适的，我的意思是如果只初始化这个方法- (instancetype)initWithProximityUUID:(NSUUID \*)proximityUUID identifier:(NSString \*)identifier，当监测到beacon区域的时候，会出发enter方法，什么时候出发exit方法呢，这个区域是多大？比如走到一个同样UUID的beacon时，会触发enter方法么？

---

<div class="post-metadata">

**Author:** ![markss](https://bbs.aprbrother.com/user_avatar/bbs.aprbrother.com/markss/32/17_2.png) [@markss](https://bbs.aprbrother.com/u/markss)\
**Post date:** [July 2, 2015, 3:47am UTC](https://bbs.aprbrother.com/t/didrangebeacon-beacon-1m/191/12 "2015-07-02T03:47:02Z")

</div>

exit区域大概是 周围同样uuid的所有区域总和，  
只有当出去之后，再进入才会触发enter。
