gpt4 book ai didi

ios - CLLocationManager 一直不工作(iOS 8,Xcode 6)

转载 作者:可可西里 更新时间:2023-11-01 03:19:32 25 4
gpt4 key购买 nike

基本上委托(delegate)方法的一半时间

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;

根本没有被调用。但另一半时间它工作得很好!我发现它通常发生在我关闭并退出 Xcode 后第一次启动它时,但在那之后或之后运行几次它似乎工作正常。我不能 100% 确定这只是 Xcode 问题还是什么,我很快就会获得开发者许可证,所以我会看看它是否能在实际设备上正常工作。

从 viewDidAppear 开始(也在 viewDidLoad 中尝试过,没有区别),我运行一个方法来初始化我的 locationManager 东西:

locationManager = [[CLLocationManager alloc]init];

[locationManager setDelegate:self];
locationManager.distanceFilter = 20.0f;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.pausesLocationUpdatesAutomatically = NO;

if ([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)])
[locationManager requestAlwaysAuthorization];

[locationManager startUpdatingLocation];

有时这行得通,有时行不通。我什至设置了一个计时器,每隔几秒就重新运行一次,但这是行不通的。

还有什么我应该做的吗?这个问题有答案吗?

谢谢。

最佳答案

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;  

只有在新位置可用时才会调用此委托(delegate)方法。有时 gps 无法获得卫星信号,因此无法获得位置。所以在这些情况下,不会触发上述方法。由于您是在模拟器中进行测试,因此您应该更改或设置位置。我认为它在实际设备上运行良好。

关于ios - CLLocationManager 一直不工作(iOS 8,Xcode 6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26081646/

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