#ios #swift #cllocationmanager
#iOS #swift #cllocationmanager
Вопрос:
У меня есть LocationManager, который мы используем для регистрации местоположения iPads для бизнеса, и по какой-то причине он запускает его случайным образом, даже если я его настроил (я полагаю) правильно. Включен фоновый режим определения местоположения. Я использую Parse и Parse Server для сохранения событий, но либо он не регистрирует их, либо не сохраняет. Я даже зашел так далеко, что сделал так, чтобы звук без звука полностью поддерживал работу приложения в фоновом режиме, и оно в какой-то степени это делает. Вот код, который я использую, я что-то упускаю?
locationManager.delegate = self
switch CLLocationManager.authorizationStatus() {
case .NotDetermined:
locationManager.requestAlwaysAuthorization()
case .AuthorizedAlways:
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
self.locationManager.distanceFilter = 100
self.locationManager.startUpdatingLocation()
default:
break
}
и
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.last {
let loc = LocationTracker()
loc.timeStamp = location.timestamp
loc.device = UIDevice.currentDevice().name
if PFUser.currentUser() != nil {
loc.user = PFUser.currentUser()
}
loc.location = PFGeoPoint(location: location)
loc.saveEventually()
}
}
Комментарии:
1. Я не понял, в чем ваша проблема .. если ваша проблема в том, что location manager обновляется каждый раз, тогда вам нужно использовать: LocationManager.stopUpdatingLocation() в функции LocationManager (менеджер: CLLocationManager, сделал обновление местоположений: [CLLocation])
2. Моя проблема в том, что он НЕ обновляется каждые 100 метров, как это должно быть. Он делает это случайным образом, и я не уверен, почему это происходит не каждые 100 метров.
3. Просто запустите код в симуляторе, установленном в city ride, и вы увидите, что он работает.. Для меня он обновляется каждые 500m, а не на каждые 100m в устройстве