每天望远不近视 2020-08-05 20:26 采纳率: 0%
浏览 70

【 LocationManager 】的Error捕获

我想在代理中观察到 CLError.Code.network.错误。所以测试:iphone不插电话卡,也不连网,在室内,但仍然拿不到这个错误。

测试结果:断开wifi的情况下,手机既不触发成功也不触发失败,开始会等待4,5分钟。然后触发了成功,精度200。然后开始连续不停的触发成功,经纬度不太一样,但精度都是200 。

预期 我预期的是触发network错误才对啊,哪位兄弟能帮我解决这个问题,有偿报答。

代码如下

class cl_ViewController: UIViewController,CLLocationManagerDelegate {
    let cl = CLLocationManager()

    override func viewDidLoad() {
        super.viewDidLoad()
        cl.delegate = self
        cl.requestAlwaysAuthorization()
        cl.startUpdatingLocation()
    }
    //成功    
    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

        let location = locations[0] as CLLocation

        var coo = "\(location.coordinate.longitude) lat:\(location.coordinate.latitude)  accuracy:\(location.horizontalAccuracy) "

        toast(msg: coo)
    }
    //失败
    func locationManager(_ manager: CLLocationManager, didFailWithError error: Error){
        var msg = ""

        switch (error as NSError).code {
        case CLError.Code.denied.rawValue:
            msg = ("拒绝")
        case CLError.Code.network.rawValue:
            msg = ("断网")
        case CLError.Code.locationUnknown.rawValue:
            msg = ("内部失败")
        default:
            msg = ( "未知错误")
        }
        toast(msg: msg)
    }
}     
  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥20 使用python中pandas进行数据分析
      • ¥20 使用python中pandas进行数据分析
      • ¥15 关于#游戏程序#的问题:端 玩wy服务器10几分钟闪退一次没有任何提示,连启动器一起闪退 本人电脑5800h 3060 16运内 win11 求解答
      • ¥15 做一个手游私服需要什么条件?
      • ¥15 关于企业微信,调用官方 微盘api 时候access_token过期的问题?
      • ¥15 请问这个C语言代码的界面怎样修改
      • ¥15 QT for Android 开发的App后台切换后卡死,没有响应
      • ¥15 【Coppeliasim】利用remoteApi实现Coppeliasim与C++程序的数据通讯
      • ¥15 Spring Boot 服务迁移到 k8s , 配置文件 eureka.instance.prefer-ip-address = true,注册在 eureka 依然是服务名称
      • ¥15 No module named 'pyLDAvis'