ios - startRangingBeaconsSatisfyingConstrain多个信标

标签 ios uuid ibeacon locationmanager

当我在不同区域使用 startRangingBeaconsInRegion 时,didRangeBeacons inRegion 可以确定我设置的所有信标,但是当我对 startRangingBeaconsSatisfyingConstraint 执行相同操作时 > didRangeBeacons SaturationConstraint 只能确定最后一个。是苹果的 bug 吗?

startRangingBeaconsInRegion

for (NSString *uuidString in uuidsString) {
    NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:uuidString];

    CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithUUID:uuid identifier:uuidString];
    [_locationManager startRangingBeaconsInRegion:region];
}

startRangingBeaconsSatisfyingConstraint

for (NSString *uuidString in uuidsString) {
    NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:uuidString];        

    CLBeaconIdentityConstraint *beaconIdentityConstraint = [[CLBeaconIdentityConstraint alloc] initWithUUID:uuid];
    [_locationManager startRangingBeaconsSatisfyingConstraint:beaconIdentityConstraint];
}

最佳答案

这似乎是 CoreLocation 最近在新的 startRangingBeaconsSatisfyingConstraint API 中引入的错误

目前的解决方法是使用已弃用的 startRangingBeaconsInRegion API。

请参阅此处的相关帖子:

SWIFT: CoreLocation - Ranging Beacons using CLBeaconIdentityConstraint does not range multiple beacons

Apple 论坛帖子报告了该错误:

https://forums.developer.apple.com/thread/130360

关于ios - startRangingBeaconsSatisfyingConstrain多个信标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60777813/

相关文章:

ios - Flutter 登录苹果失败

ios - 谷歌地图无法加载,整个应用程序崩溃

ios - Scrollview 如何与 Autolayout 一起工作,为什么设置底部垂直空间约束使其工作?

java - 检查给定 UUID 的节点是否存在

ios - iOS 设备在锁定时能否继续作为 iBeacon 设备发射?

ios - 点击按钮UICollectionViewCell宽高变化

go - 多个 goroutine 中的命名空间 uuid

c++ - 如何直接使用 key 作为 std::unordered_map 的哈希值?

ios - 设备重启后的本地通知

android - 我们能否像监控信标(进入区域、退出区域)一样监控 BLE 服务?