当我在不同区域使用 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。
请参阅此处的相关帖子:
Apple 论坛帖子报告了该错误:
关于ios - startRangingBeaconsSatisfyingConstrain多个信标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60777813/