菜鸟教程小白 发表于 2022-12-13 13:45:30

ios - 多个 CLLocationManager 有超过 20 个被监控的区域


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

<p>例如,如果经理 A 监控 9 个 CLBeaconRegions,经理 B 监控 20 个 CLCircularRegions,则每个监控器的受监控区域属性将为 29。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>受监控区域是一种共享资源,这意味着您创建的每个 <code>CLLocationManager</code> 实例实际上都在同一个受监控区域列表上运行。</p>

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

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

<p><em>[虽然您的 <code>monitoredRegions</code> 有超过 20 个条目的方式和原因是一件有趣的事情。我无法复制它。]</em></p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 多个 CLLocationManager 有超过 20 个被监控的区域,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/35000776/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/35000776/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 多个 CLLocationManager 有超过 20 个被监控的区域