Я пытаюсь получить местоположение пользователя в своем приложении для iPhone. Он запросил разрешение info.plist (используйте местоположение, даже если приложение не отключено). Но, тем не менее, я не вижу, что мой делегат запускается хотя бы один раз, потому что я не понимаю даже текущего местоположения. Вот код:получить местоположение пользователя и обновления
import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {
var locationManager = CLLocationManager();
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
locationManager.delegate = self
if (CLLocationManager.authorizationStatus() == CLAuthorizationStatus.notDetermined) {
self.locationManager.requestAlwaysAuthorization();
}
locationManager.distanceFilter = kCLDistanceFilterNone
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let userLocation:CLLocation = locations[0]
let long = userLocation.coordinate.longitude;
let lat = userLocation.coordinate.latitude;
print(lat)
}
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!)
{
locationManager.stopUpdatingLocation()
if ((error) != nil)
{
print(error)
}
}
Может ли кто-нибудь указать мне возможные проблемы?
Требуется разрешение на размещение или нет? – iMHitesh
Да, он попросил разрешения один раз, и я позволил. Каждый следующий запуск программы Я не получаю этот запрос на разрешение, так как он хранится в настройках. Дело в том, что делегат, который должен запускаться при обновлении местоположения, на самом деле не называется. Я подозреваю, что это может быть проблема многопоточности, например. вызов из основного потока и другого потока, который экземпляр не существует ... теперь проверка ... – seeker
Возможный дубликат [Как получить пользователя местоположения с CLLocationManager в swift?] (http://stackoverflow.com/questions/24252645/ how-to-get-location-user-whith-cllocationmanager-in-swift) – xoudini