0
latitude
とlongitude
を取得しようとしていますが、場所は常にnil
です。CLLocationManager()場所はシミュレータではゼロです
class FinalizeOrderController: UIViewController {
var locManager = CLLocationManager()
var currentLocation: CLLocation!
override func viewDidLoad() {
super.viewDidLoad()
currentLocation = CLLocation()
locManager.requestWhenInUseAuthorization()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func FinaliseOrder(_ sender: Any) {
if (CLLocationManager.authorizationStatus() == CLAuthorizationStatus.authorizedWhenInUse ||
CLLocationManager.authorizationStatus() == CLAuthorizationStatus.authorizedAlways) {
currentLocation = locManager.location
print(locManager.location?.coordinate.latitude) //prints nil
print(currentLocation.coordinate.longitude) //fatal error: unexpectedly found nil while unwrapping an Optional value
}
lbl1.text = "\(currentLocation.coordinate.longitude)"
lbl2.text = "\(currentLocation.coordinate.latitude)"
}
は私がのInfo.plistキーを追加し、Xcode
からシミュレータの場所を実行して、デバッグからシミュレータの場所を選択しましたが方法が常にnil
- デバッグ - 場所は –
NULLでない私Appleを選ぶ –
'location'プロパティにアクセスすることはできません。 'didUpdateLocations'デリゲートメソッドへのコールバックを待つ必要があります。 – Paulw11