SachinKS 2013-08-09 06:47 采纳率: 0%
浏览 2612
已采纳

临时禁止后CLLocationManager不返回位置

临时禁用了本地服务和应用许可,这样可以测试一些处理场景的代码。再次开启后,就不能再获取当前位置了,代码如下:

CLLocationManager *locationManager = [ [CLLocationManager alloc] init];
[locationManager startUpdatingLocation];
CLLocation *currentLocation = locationManager.location;
[locationManager stopUpdatingLocation];

运行代码后locationManager.location等于nil

设备是ios6的iPad。

  • 写回答

1条回答

  • g989_1314125 2013-08-09 07:36
    关注

    设置CLLocationManager代理:

    CLLocationManager *locationManager = [ [CLLocationManager alloc] init];
    locationManager.delegate = self;
    [locationManager startUpdatingLocation];
    

    然后试试CLLocationManager的代理:

    - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
    {
        self.currentLocation = newLocation;            
    }
    - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
        // The location "unknown" error simply means the manager is currently unable to get the location.
        // We can ignore this error for the scenario of getting a single location fix, because we already have a
        // timeout that will stop the location manager to save power.
        if ([error code] != kCLErrorLocationUnknown) {
            [self stopUpdatingLocation:NSLocalizedString(@"Error", @"Error")];
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题