gpt4 book ai didi

ios - iOS : didEnterRegion fires but didExitRegion does not in simuator 区域监控

转载 作者:行者123 更新时间:2023-11-28 17:33:54 25 4
gpt4 key购买 nike

我正在使用 CLLocationManager 来监控 iOS 中的区域。我以正常方式设置委托(delegate):

self.locationManager = [[[CLLocationManager alloc] init] autorelease];
self.locationManager.delegate = self;

并实现几个委托(delegate)函数,包括:

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"GeoFence: didEnterRegion");
}

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"GeoFence: didExitRegion");
}

然后我开始监控一个区域:

CLLocationCoordinate2D coordinates = CLLocationCoordinate2DMake(lat, lng);     
CLRegion *grRegion = [[CLRegion alloc] initCircularRegionWithCenter:coordinates radius:radius identifier:[NSString stringWithFormat:@"grRegion%i", 1]];

CLLocationAccuracy acc = kCLLocationAccuracyNearestTenMeters;
[self.locationManager startMonitoringForRegion:grRegion desiredAccuracy:acc];

具有适当的纬度 (51.116261)、经度 (-0.85300) 和半径 (200) 值。在 iPhone 5.1 模拟器中构建并运行应用程序后,我使用 Xcode 4.3 中的位置注入(inject)工具在远距离位置和我的目标位置之间移动,然后再返回。在此过程下,didEnterRegion 事件正确触发但 didExitRegion 永远不会触发。我还收到其他委托(delegate)回调,例如 didUpdateToLocation。我改变了模拟运动的模式,使用模拟器的位置设置工具而不是 Xcode 的,并尝试在装有 iOS 5.1 的 iPhone 4S 上运行应用程序进行相同的测试。所有测试的结果相同。

我已确保按照其他线程中的建议启用了 WiFi,并且徒劳地查看了有关相关主题的其他问题。关于为什么其中一个区域转换事件会触发,但另一个不会触发,有什么建议吗?

最佳答案

我在 5.1 中遇到了同样的问题。我向 Apple 提交了一个雷达作为一个错误。它会触发第一个事件,进或出,但之后不会发生其他事件。

据我所知,此问题已在 iOS 6 测试版中得到解决。所以期待它在 iOS 6 上线时得到解决。

雷达:11715223

关于ios - iOS : didEnterRegion fires but didExitRegion does not in simuator 区域监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399967/

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