gpt4 book ai didi

ios - iOS 8.1 中未调用 didUpdateUserLocation

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

自从我更新到iOS SDK 8和8.1后,出现了很多问题,包括不再调用CLLocationManager的didUpdateLocations方法。

这里是代码: 在 viewDidLoad 中:

locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
[locationManager requestAlwaysAuthorization];
}
[locationManager startUpdatingLocation];

方法:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ NSLog(@"Call?"); }

最佳答案

几个想法:

  1. 您是在模拟器上还是在设备上测试它?您必须在实际设备上对此进行测试。 FWIW,didUpdateLocations 在我的 iOS 8.1 设备上运行良好。

  2. 确保您指定了 NSLocationAlwaysUsageDescription 字符串,否则应用不会显示授权消息,您也不会获得授权。

    显然,如果您不需要“始终使用”,您应该只requestWhenInUseAuthorization 然后您必须指定NSLocationWhenInUseUsageDescription 字符串。

  3. 您检查过[CLLocationManager authorizationStatus]了吗?我什至在尝试授权或启动定位服务之前就这样做了,因为如果它是 kCLAuthorizationStatusDeniedkCLAuthorizationStatusRestricted,定位服务将无法工作,直到用户进入设置并补救措施。如果您获得这些授权代码中的任何一个,您可能希望向他们显示一条消息。

  4. 您是否实现了locationManager:didFailWithError:?它会报告什么吗?

  5. 您是否实现了 locationManager:didChangeAuthorizationStatus:?您是否以成功的授权状态收到此电话?

关于ios - iOS 8.1 中未调用 didUpdateUserLocation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26558593/

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