假设我有100个信标聚集在一个位置,具有相同的UUID和不同的专业/未成年人。 我想知道用户何时接近每个人并在后台( didEnterRegion )中获得回调。
为此,我可以使用此方法初始化信标区域:
initWithProximityUUID:major:minor:identifier:
并在 CoreLocation 上使用 startMonitoring 方法。问题是它可以最多听20个信标区域。有没有办法解决这个问题?
答案 0 :(得分:0)
有两种方法:
bluetooth-central
权限在后台扫描的信标。答案 1 :(得分:0)
潜在的解决方案是仅在重叠的信标上分配唯一的主要值。例如。如果你在办公室里有一个灯塔,那么在隔壁的所有附近办公室,上方和下方为每个信标指定一个不同的专业。然后,对于超出此办公室范围的信标,您可以再次重复使用该专业。然后你可以监控UUID + major,希望你少于20个。使用次要值加上共享主要值并为房间制作一个唯一的ID,例如
Office 1, major 1, minor 1
Office 2, major 2, minor 1
Office 3, major 1, minor 2
Office 3超出了办公室1的范围,因此他们可以使用相同的专业。因此,您将收到办公室1的didLeaveRegion通知,然后是didEnterRegion办公室3,因为如果不离开1则无法输入3。
注意这只是理论,尚未经过测试。如果您希望我测试一下,请告诉我。