ios - didRangeBeacon 在没有找到任何信标的情况下被调用

标签 ios ios8 core-location cllocationmanager ibeacon

我注册了自己的位置管理器来监控和测距几个信标:

[self.locationManager startMonitoringForRegion:region];
[self.locationManager startRangingBeaconsInRegion:region];

我的理解是,当找到一个或多个信标时,将调用此委托(delegate)方法:

- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region

当我打开我的信标时确实调用了这个委托(delegate)方法,但是信标数组是空的。我的信标未列在该数组中有什么原因吗?

下面是一个截图来说明这种情况:

enter image description here


其他注意事项:

  • 我用了MacBeacon发送我的信标信号。稍后我会尝试使用真正的信标,但 MacBeacon 在 iOS 7 中对我来说运行良好。
  • 我尝试延迟测距,直到调用 didEnterRegion: 或调用 didDetermineState:,但结果仍然相同。
  • 我已向位置管理员请求位置权限:[self.locationManager requestWhenInUseAuthorization];
  • 我有一段非常相似的代码,在 Xcode 5/iOS 7 SDK 中编译后运行良好。这是特定的 Xcode 6/iOS 8 行为吗?
  • 我在我的 plist 中添加了 NSLocationWhenInUseUsageDescription 键。

最佳答案

这是因为我在创建 CLBeaconRegion 时没有使用唯一标识符。

特别感谢nayoso帮助我解决这个问题。

关于ios - didRangeBeacon 在没有找到任何信标的情况下被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26429089/

相关文章:

iphone - 在 UITableViewCell 中滑动删除有白色背景,需要清除

ios - 在 Facebook 应用程序中打开帖子的 URL Scheme

ios - 无法设置不同的视频时长以在iOS中捕获和编辑视频

ios - 核心位置 iOS 8 兼容 iOS 7

objective-c - 在 block 中返回非指针对象时出现问题

ios - 在swift中向类函数添加回调

ios - 适用于Xcode 5的iOS 8模拟器

ios - 获取 UISplitViewController 的 masterview Controller 的显示隐藏事件

ios - UIImagePickerController 与 AVCaptureSession 视频预览冲突

ios - 无法在 MKMapView 上设置缩放级别