Swiftでユーザーの経度と緯度を取得しようとしているうちに、問題が発生しました。私はユーザーの座標を取得するための関数を実行するボタンを持っています。最初に押されたときに、アプリにあなたの場所を与える許可を求める必要があります。しかし、私が抱えている問題は、場所の取得ボタンを押すとすぐにこのポップアップが自動的に閉じるということです。ここでSwift:位置情報のポップアップが閉じたままになる
は何が起こるかです:ここではhttp://imgur.com/a/0wdnm
は私のコードです:
class location: NSObject, CLLocationManagerDelegate {
var locationManager = CLLocationManager()
internal func getLocation() {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
if CLLocationManager.authorizationStatus() == .AuthorizedAlways {
locationManager.startUpdatingLocation()
} else if CLLocationManager.authorizationStatus() == .NotDetermined {
locationManager.requestAlwaysAuthorization()
} else if CLLocationManager.authorizationStatus() == .Denied {
print("User denied location permissions.")
}
}
// MARK : CLLocationManagerDelegate protocol
@objc
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location: CLLocationCoordinate2D = (locationManager.location?.coordinate)!
print(location.latitude)
print(location.longitude)
}
}
あなたの 'location'クラスインスタンスをどこに割り当てるのかを示してください。それはリリースされているように聞こえますが、それはあなたのアプリの持続時間の間に残るべきです。あなたはそれをシングルトンにすることを検討すべきです – Paulw11
私はあなたを愛しています、@ Paulw11 – inigo333