美文网首页Flying Personal
获取地理定位系统提示框以及系统提示框自动消失问题

获取地理定位系统提示框以及系统提示框自动消失问题

作者: 流年小书 | 来源:发表于2019-12-11 11:02 被阅读0次
     let locationmanager: CLLocationManager = CLLocationManager()
     locationM.delegate = self;
     // 请求前台定位授权, 并在Info.Plist文件中配置Key  
     locationmanager.requestAlwaysAuthorization()
     locationmanager.requestWhenInUseAuthorization()
     // 设置定位精确度
     locationmanager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
     // 每隔多少米定位一次
     locationmanager.distanceFilter = 5.0
     locationmanager.startUpdatingLocation()
            }
    

    但是这段代码有个问题,弹出的授权GPS提示框在弹出一秒钟后,又自己消失了,用户没法在如此短时间内进行确认。
    找不到原因,猜测这个弹出框的生命周期是否跟locationmanager这个局部变量一样,在代码执行完之后就释放掉。
    然后把locationmanager换成属性来使用,问题果然解决了,感觉这又是一个坑。

    self.locationmanager = CLLocationManager()
    if let locationmanager = self.locationmanager {
        locationmanager.requestAlwaysAuthorization()
        locationmanager.requestWhenInUseAuthorization()
        locationmanager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
        locationmanager.distanceFilter = 5.0
        locationmanager.startUpdatingLocation()
    }
    

    相关文章

      网友评论

        本文标题:获取地理定位系统提示框以及系统提示框自动消失问题

        本文链接:https://www.haomeiwen.com/subject/szlogctx.html