swift - ios地理定位请求窗口一闪而过?
怪我咯
怪我咯 2017-04-17 17:11:37
[iOS讨论组]
import UIKit
import CoreLocation;

class UserLocation: NSObject {
    
    var userPosition: CLLocationCoordinate2D?
    let manager = CLLocationManager()
    
    /// 获取用户位置授权,定位用户当前坐标
    func startUserlocation() {
        
        manager.delegate = self;
        manager.desiredAccuracy = kCLLocationAccuracyBest;  //设置精确度
        manager.distanceFilter = 50 ;   //重新定位变化距离
        
        
        if #available(iOS 8, *) {   //ios8 或更高
            print("request");
            //manager.requestWhenInUseAuthorization();    //当app进入前台开始定位
            manager.requestAlwaysAuthorization();       //请求始终进行定位
        }
        
        if !CLLocationManager.locationServicesEnabled() {
            print("设备没开启定位");return;
        }
        
        manager.startUpdatingLocation();    //开始定位
        
        print("start");
    }

}

extension UserLocation: CLLocationManagerDelegate {
    // 地理位置更新
    func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        print(locations)
        if(locations.count <= 0 ){
            return;
        }
        
        print("定位定位")
        
        let userPos = locations.last! as CLLocation  //获得最新一次定位信息
        userPosition = userPos.coordinate
        
        manager.stopUpdatingLocation()
    }
    
    func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
        print(status);
    }
    
    //定位失败
    func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
        print(error);
    } 
}

如上:
写了一个location类,然后再界面上点击一个按钮触发定位:

func richScan(){
    var test = UserLocation();
    test.startUserlocation();
}

但是弹出请求权限接口后 一闪而过,根本来不及点。这是什么情况。。。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
PHPz

test 被 释放了,arc 的问题,设置一个成员变量强引用,如:self.test = UserLocation();

天蓬老师

楼上正解。
把UserLocation写成单例好像也能解决问题。

高洛峰

没解决这问题的 请看这篇文章http://www.cnblogs.com/huangzs/p/5334130... 还没解决的 私聊我

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号