解决iOS CoreLocation上20个最大信标区域的问题

时间:2014-12-01 10:10:23

标签: ios iphone ibeacon

假设我有100个信标聚集在一个位置,具有相同的UUID和不同的专业/未成年人。 我想知道用户何时接近每个人并在后台 didEnterRegion )中获得回调。

为此,我可以使用此方法初始化信标区域:

initWithProximityUUID:major:minor:identifier:

并在 CoreLocation 上使用 startMonitoring 方法。问题是它可以最多听20个信标区域。有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:0)

有两种方法:

答案 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。

注意这只是理论,尚未经过测试。如果您希望我测试一下,请告诉我。