当我使用 startRangingBeaconsInRegion
与不同地区didRangeBeacons inRegion
可以确定我设置的所有信标,但是当我对 startRangingBeaconsSatisfyingConstraint
执行相同操作时didRangeBeacons satisfyingConstraint
只能确定最后一个。是苹果虫吗?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
苹果论坛帖子报告了这个错误:
https://forums.developer.apple.com/thread/130360
关于ios - startRangingBeaconsSatisfying约束多个信标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60777813/