2016-07-25 8 views
3

私はデバイスの高度を見つけるのが難しいです、私は高度を表示するために私のアプリに必要ですどのように私はそれを行うことができますか? 私がすることを試みている:実際にあなたが右のデリゲートメソッドを呼び出していない、あなたが求めているものは何も....ios 8で現在の高度を取得する方法は?

+1

'info.plist'に' NSLocationAlwaysUsageDescription'キーを追加しましたか? – WMios

+0

info.plistに 'NSLocationAlwaysUsageDescription'キーを含めましたか? – AtWork

+0

実際にOPは使用許可を求めているので、NSLocationInUseDescriptionや使用中のバージョンが呼び出されたものが必要です。 –

答えて

3

を示さない

var locationManager:CLLocationManager = CLLocationManager() 

override func viewDidLoad() { 

    super.viewDidLoad() 
    self.locationManager = CLLocationManager() 
    locationManager.requestWhenInUseAuthorization() 
    self.locationManager.delegate = self 
    self.locationManager.distanceFilter = kCLDistanceFilterNone 
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest 
    self.locationManager.startUpdatingLocation() 

} 


func locationManager(manager: CLLocationManager!, didUpdateToLocation newLocation: CLLocation!, fromLocation oldLocation: CLLocation!) { 
    var alt = newLocation.altitude 
    print("\(alt)") 
    manager.stopUpdatingLocation() 
} 

locationManager(manager: CLLocationManager!, didUpdateToLocation newLocation: CLLocation!, fromLocation oldLocation: CLLocation!)しかし、あなたが望むものをあなたに与えるでしょう1

:あなたは Info.plistファイルに NSLocationWhenInUseUsageDescriptionキーを実装しなかった場合、ポップアップはあなたがちょうどあなたの関数を削除して、この1を追加し、それが動作するはずする必要が表示されている場合 locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])だから、

です

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
    guard let lastLocation = locations.last else { 
     NSLog("error no last location") 
     return 
    } 
    let altitude = lastLocation.altitude 
    // Do what you want with your altitude 
} 

locationManager.stopUpdatingLocation()をこのデリゲート機能に含めないことをお勧めします。

これがあなたを手伝ってくれることを願っています!

注:この構文はSwift 3.0用ですが、Swift 2.2の代理機能で_を削除するだけで済みます。

+0

これは働いています!それはフィートかメートルであるか? –

+0

[AppleDocumentation](https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocation_Class/index.html#//apple_ref/occ/instp/CLLocation/altitude)によると、 'The高度はメートルで測定した。 (読み取り専用) ' – Chajmz

関連する問題