【问题标题】:Problems using CoreLocation and iBeacons使用 CoreLocation 和 iBeacons 的问题
【发布时间】:2014-02-05 15:26:36
【问题描述】:

我想构建一个具有室内定位功能的应用程序(我知道蓝牙不是那么精确,但一开始粗略的值就足够了)。 我的问题是,在关闭和打开蓝牙后,我只能对放置在房间中的信标进行 10 秒的范围调整。奇怪的是,关闭再打开蓝牙就可以解决问题(再次持续 10 秒)。

这是我的简单测试应用的代码 sn-p:

-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
{
   BOOL beaconFound = NO;
   for(CLBeacon *beacon in beacons)
   {
       if(beacon.proximity == CLProximityNear)
       {
           _textView.text = @"A Beacon is Near!";
           beaconFound = YES;
       }
   }
   if(!beaconFound)
       _textView.text = @"No Beacon is Near";
}

在 iOS 上是不是某种节能方式?我对此没有任何其他解释,但似乎没有其他人有这个问题。 我还尝试在 iPad 上测距模拟 iBeacon,但得到了相同的结果。

我希望能够不断地测量信标,我是不是做错了什么?

提前致谢

【问题讨论】:

  • 您使用什么样的信标?我听说过一些模型有类似的行为。
  • 我正在使用 Kontakt 信标。 link
  • 查看这个相关问题:stackoverflow.com/questions/21522383/…。您的体验略有不同,但两者都表明信标可能有问题。

标签: ios objective-c core-location bluetooth-lowenergy ibeacon


【解决方案1】:

我不确定您是在前台还是后台进行测距。 我相信如果您在后台执行此操作,iOS 将只允许您在 locationManager 停止之前进行一段时间的测距。

另一件事是您只检查 CLProximityNear。您可能想尝试检查三个区域。我确实测试了 startRangingBeaconsInRegion ,结果有时在 Near 和 Far 之间来回跳跃。希望对您有所帮助。

switch (beacon.proximity) {
     case CLProximityImmediate:
          _textView.text = @"A Beacon is Immediate!";
          beaconFound = YES;
          break;
     case CLProximityNear:
          _textView.text = @"A Beacon is Near!";
          beaconFound = YES;
          break;
     case CLProximityFar:
          _textView.text = @"A Beacon is Far!";
          beaconFound = YES;
          break;
     default:
          break;
}

【讨论】:

  • 不,我正在前台进行测距。我也尝试了您描述的解决方案,但遇到了同样的问题。 10 秒后,我无法测量 6 个信标中的任何一个。 #
【解决方案2】:

尝试删除此限定符:

如果(beacon.proximity == CLProximityNear)

我怀疑您与信标的距离通常会返回不同的值(可能是 CLProximityFar 或 CLProximityImmediate)。如果为真,您会在前 10 秒看到结果的原因是因为在此期间,邻近度值会反弹很多。这可能会导致您在距离估计结束之前的这段时间内获得与 CLProximityNear 的匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多