Получить текущее местоположение пользователя (широта/долгота) во всем состоянии приложения не всегда только тогда, когда требуется мое приложение без делегата диспетчера местоположения

Я работаю над приложением для просмотра сердцебиения, и я хочу, чтобы, когда частота сердечных сокращений пользователя была критической, мы получали его текущее местоположение (передний план, фон и завершение) и отправляли его на наш сервер. Есть ли способ, с помощью которого я могу получить местоположение пользователя только в этой позиции. Я не хочу каждый раз обновлять его местоположение.


person Nasib    schedule 08.04.2016    source источник
comment
Возможный дубликат Как я могу получить текущее местоположение от пользователя в iOS   -  person Mihriban Minaz    schedule 08.04.2016


Ответы (1)


Чтобы получить местоположение пользователя, вы должны объявить:

let locationManager = CLLocationManager()

в вашем контроллере.

Затем в viewDidLoad вам нужно запросить местоположение и инициализировать процесс CLLocationManager get :

// Ask for Authorisation from the User.
self.locationManager.requestAlwaysAuthorization() 

// For use in foreground
self.locationManager.requestWhenInUseAuthorization()

if CLLocationManager.locationServicesEnabled() {
    locationManager.delegate = self
    locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
    locationManager.startUpdatingLocation()
}

Вы получите местоположение в CLLocationManagerDelegate :

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    var location:CLLocationCoordinate2D = manager.location.coordinate
    print("locations = \(location.latitude) \(location.longitude)")
}

В вашем info.plist вы должны добавить NSLocationAlwaysUsageDescription и собственное предупреждающее сообщение, которое будет отображаться при запросе местоположения.

ваше здоровье...

person Muhammad Yawar Ali    schedule 08.04.2016
comment
Но как я могу получить местоположение, когда мое приложение находится в прекращенном состоянии - person Nasib; 08.04.2016
comment
Если пользователь завершает работу приложения, система больше не предоставляет ему те же привилегии. Операции фоновой выборки и фонового определения местоположения не будут выполняться до тех пор, пока пользователь не решит снова запустить ваше приложение. - person Muhammad Yawar Ali; 08.04.2016
comment
Пожалуйста, прочитайте мое описание, я упоминал об этом. Я знаю, что мы можем получить текущее местоположение с помощью значительного обновления местоположения, но его обновление не продолжается. - person Nasib; 08.04.2016