iOS中的地理围栏限制

4

我在iOS的Geofencing Limits方面遇到了问题。

我正在为烟店构建一个应用程序,位置大约有200个。

我希望用户在离商店几英尺远时“自动”签到。

苹果强制规定的限制是20个。

苹果文档

区域是依赖于特定硬件功能的共享资源。为确保所有应用程序都可以参与区域监视,Core Location防止任何单个应用程序同时监视超过20个区域。要解决此限制,请仅监视靠近用户当前位置的区域。随着用户移动,根据用户的新位置更新列表。

正如文档中所示,苹果建议开发者在用户更新其位置时更新20个区域的列表。

enter image description here

有三个问题需要考虑。

  1. 文档说“Core Location防止任何单个应用程序同时监视超过20个区域。”这是否意味着作为开发者,我只能在我的应用程序中设置20个位置?因为我有200个位置(有200个客户希望在其商店周围具有此功能)。

  2. 苹果提供了对限制的解决方法。这是否意味着20个区域限制仅适用于应用程序用户?这是否意味着我可以设置200个位置,但用户只会看到最靠近他们的20个位置,他们可以签到?

  3. 当我有10个使用我的应用程序的用户,并且他们共同拥有超过20个位置的数量时会发生什么?

1个回答

5

1 - 这意味着您的应用程序可以跟踪20个地理围栏。如果您想要跟踪200个地理围栏,您可以始终跟踪最接近的20个区域。您需要创建一种策略来更新您的地理围栏列表。例如,您可以在进入/离开您的地理围栏时更新您最接近的20个地理围栏。或者您可以在执行后台获取时在后台更新它们。

2 - 地理围栏与地图区域不同。您可以在地图上显示尽可能多的区域(例如使用mapkit)。

3 - 设备限制了地理围栏数量。每个用户最多可以跟踪20个地理围栏。


嘿,感谢你的回答。这是否意味着我作为开发者可以设置任意数量的地理围栏,而用户在使用应用程序时会看到最多20个,取决于他或她所在的区域? - javascriptcookie
不,您可以为20个地理围栏调用startMonitoring(for:)。这意味着系统将监视这些地理围栏的进入/离开情况。但是,如果您需要跟踪超过20个区域,则需要实现自己的策略以充分利用这些区域,就像我所说的,您可以不断更新最接近的顶部区域。在地图上,您可以显示任意数量的区域,因为它们与系统跟踪的地理围栏无关。 - Enrique Bermúdez
那么如果我们从客户端的角度来看,客户端有能力跟踪多达20个地理围栏。对吗? - javascriptcookie
我简直不明白 20 个地理围栏的限制是如何应用于这 200 家商店的。如果需要签到的商店数量增加到 200+,当限制为 20 时,我该如何实现这 200 家商店? - javascriptcookie
这里提供一种你可以使用的方法,详情请见:https://www.plotprojects.com/blog/how-to-monitor-more-than-20-regions-in-your-ios-app/ - Enrique Bermúdez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接