Я пытаюсь получить широту и долготу iPhone для целей перехода к внешней функции, чтобы что-то геотегировать. Однако я был довольно неудачным. Вот код, с которым я сейчас работаю.Получение iPhone Latitude & Longitude
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.locationManager.requestAlwaysAuthorization()
self.locationManager.requestWhenInUseAuthorization()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func findMyLocation (sender:AnyObject)
{
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!)
{
CLGeocoder().reverseGeocodeLocation(manager.location, completionHandler: {(placemarks, error)->Void in
if error == nil
{
println("Reverse geocoder failed with error " + error.localizedDescription)
return
}
if placemarks.count > 0
{
let pm = placemarks[0] as CLPlacemark
self.displayLocationInfo(pm)
}
else
{
println("Problem with the data received from geocoder")
}
})
}
func displayLocationInfo(placemark: CLPlacemark) {
//stop updating location to save battery life
locationManager.stopUpdatingLocation()
if (placemark.postalCode != nil)
{
println(placemark.postalCode)
println("just tried to print placemark's postal code")
}
//println(placemark.locality ? placemark.locality : "")
//println(placemark.postalCode ? placemark.postalCode : "")
//println(placemark.administrativeArea ? placemark.administrativeArea : "")
//println(placemark.country ? placemark.country : "")
}
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!)
{
println("Error while updating location " + error.localizedDescription)
}
На данный момент я почти ничего не получаю, когда запускаю программу. У меня есть маленькая кнопка, которая говорит «Find Me», и при нажатии ничего не появляется в окне вывода. У меня есть местоположение отладки iOS Simulator, установленное на «Apple», и я ранее пробовал всегда предоставлять услуги определения местоположения в настройках симулятора при попытке запустить программу (хотя в настоящее время она не показывает мое приложение и возможность сделать это). Я просто хочу получить двойное значение для широты и долготы, и если есть простое, что было бы здорово.
Я очень новичок в XCode - как именно я могу добавить один из этих ключей? Как это выглядит и куда оно идет? – Xianthia
Должна быть папка, называемая поддерживающими файлами. Там есть файл с именем target-Info.plist, где target - это имя целевого приложения вашего проекта. Вы добавляете пару ключ/значение в этот файл. Если вы новичок в Xcode, я предлагаю вам прочитать некоторые из руководств и руководств, чтобы узнать об этом, прежде чем обращаться за помощью. Трудно помочь тем, кто не понимает жаргон. –