gpt4 book ai didi

ios - 两个 CLLocationManager 干扰

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:03:00 26 4
gpt4 key购买 nike

我在一个应用程序中有两个 CLLocationManage。第一个是监视信标区域,而另一个是监视正常的 CLRegion。

上午第一个

// Do any additional setup after loading the view.
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;

B.m 中的第二个

  gpsLocationManager = [[CLLocationManager alloc] init];
gpsLocationManager.delegate = self;

我非常肯定后者,我没有在任何信标区域调用任何 startMonitoringForRegion。但是,B 中的 gpsLocationmanager 似乎一直从 A 中的 gpsLocationmanager 接收 enterRegion 回调。所以它最终以我检查传入的区域 para 类型来使 gpsLocationManager 不响应来自信标区域输入的任何回调。

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"%d regions under monitor:", self.gpsLocationManager.monitoredRegions.count);
NSLog(@"%d regions in regionArray:", self.regionArray.count);
NSLog(@"Region type %@:", [region class]);
if(![region isKindOfClass:[CLBeaconRegion class]]){

有什么想法吗?

问候锤子

最佳答案

CoreLocation 功能在整个应用程序范围内提供。

这就是为什么常见的模式是在 AppDelegate 中初始化 CLLocationManager 并使其成为 CLLocationManagerDelegate

如果您需要在多个 UIViewController 中访问您的一个 CLLocationManager,我会将其设为您的 AppDelegate 的属性。然后,如果 UIViewController 已初始化且可见,您可以将所需的回调转发给它们。

关于ios - 两个 CLLocationManager 干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26839170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com