我想使用位置數據製作一個簡單的iOS應用程序。不幸的是,即使在模擬器上輸入「當前位置」調試代碼,在設備和模擬器上同時測試時,我也會收到'無'。 這是我第一次在Swift 3上使用CoreLocation,所以我使用了和前面一樣的方法。位置快速問題3
import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {
@IBOutlet weak var latitudeLabel: UILabel!
@IBOutlet weak var longitudeLabel: UILabel!
var locationManager:CLLocationManager?
var currentLocation:CLLocation?
override func viewDidLoad() {
super.viewDidLoad()
let locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
updateLabels()
// Do any additional setup after loading the view, typically from a nib.
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
self.currentLocation = locations[0]
}
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print(error)
}
func updateLabels() {
latitudeLabel.text = String(describing: currentLocation?.coordinate.latitude)
longitudeLabel.text = String(describing: currentLocation?.coordinate.longitude)
print(currentLocation)
}
}
當然,我已經在Info.plist中編寫了所有必要的隱私密鑰。
當我試圖打印currentLocation時,我收到零。 隨着最後一次發佈,我發現這樣的問題,而不是一個警報正在出現,但立即消失
你說的「我接受‘零’」是什麼意思?請澄清你的問題。 – rmaddy
感謝您的回覆。編輯說明。 –