【发布时间】: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