OStack程序员社区-中国程序员成长平台

标题: ios - 多个 CLLocationManager 有超过 20 个被监控的区域 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 13:45
标题: ios - 多个 CLLocationManager 有超过 20 个被监控的区域

我正在为我的应用使用 2 个位置管理器来监控不同类型的区域(CLBeaconRegion 和 CLCircularRegion)。我阅读了有关受监控区域的 20 个限制。当我尝试调试时,我注意到我的受监控区域属性有 20 多个区域。这是否意味着 20 的限制适用于每个位置管理器,但它们都共享相同的受监控区域属性(如果有 2 个位置管理器使用限制是 20+20 = 40)?

例如,如果经理 A 监控 9 个 CLBeaconRegions,经理 B 监控 20 个 CLCircularRegions,则每个监控器的受监控区域属性将为 29。



Best Answer-推荐答案


受监控区域是一种共享资源,这意味着您创建的每个 CLLocationManager 实例实际上都在同一个受监控区域列表上运行。

您可以通过创建 CLLocationManager "A"来检查,使用它开始监视区域。然后创建一个 CLLocationManager "B",并打印它的 monitoredRegions 属性。您将看到您开始监视的区域,即使它是在 iOS 中注册的不同 CLLocationManager。

正是这个共享列表受制于 20 个区域的限制,这意味着无法通过创建更多 CLLocationManager 来绕过限制。

[虽然您的 monitoredRegions 有超过 20 个条目的方式和原因是一件有趣的事情。我无法复制它。]

关于ios - 多个 CLLocationManager 有超过 20 个被监控的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35000776/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4