我可以通过编程方式打开位置服务

时间:2016-02-09 12:14:43

标签: swift cllocationmanager tvos tvos9.1

我是tvOS平台的新手。我想知道如何在应用程序启动时获取当前位置的纬度和经度。我正在编写此代码以获取位置坐标。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    dispatch_async(dispatch_get_main_queue()) { () -> Void in
            self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
            self.locationManager.delegate = self
            self.locationManager.requestLocation()
            self.locationManager.requestWhenInUseAuthorization()
        }
        return true
    }

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

        locationValue = manager.location?.coordinate
        print("=========didUpdateLocations==========Latitude>>>>>",locationValue.latitude)
        print("=========didUpdateLocations==========Longitude>>>>",locationValue.longitude)
    }
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {

        print("localizedDescription===================",error.localizedDescription)
    }

此代码提供视图控制器加载后的坐标。虽然我的要求是我希望在 加载视图控制器之前获得坐标 。我可以以编程方式为单个应用程序启用位置服务吗?

2 个答案:

答案 0 :(得分:1)

位置服务根据需要确定位置,这需要时间。因此,它只提供异步接口。

因此,现在可以在显示视图控制器之前检索位置。您需要编写应用程序,以便在不知道位置的情况下显示视图控制器,然后在位置信息可用时更新屏幕。

答案 1 :(得分:0)

需要设置应用信息和授权,请参阅讨论Here

我也找到了这个相同问题的解决方案和解释Here