2017-01-12 17 views
1

CLLocationManagerデリゲートが呼び出されることはありません。ここに私のコードは次のとおりです。CLLocationManagerデリゲートがios 10 swift 3シミュレータで呼び出されていない

import UIKit 
    import CoreLocation 
    class LocationController: UITableViewController, CLLocationManagerDelegate { 
    override func viewDidLoad() { 
    super.viewDidLoad() 
    if (CLLocationManager.locationServicesEnabled()) 
    { 
     locationManager.delegate = self; 
     locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters 
     // ask permission - NOT NECESSARY IF YOU ALREADY ADDED NSLocationAlwaysUsageDescription IT UP INFO.PLIST 
     locationManager.requestAlwaysAuthorization() 
     // when in use foreground 
     locationManager.requestWhenInUseAuthorization() 
     locationManager.startUpdatingLocation() 
    } 
    else{ 
     print("set up location access in info.plist") 
    } 
    } 

    private func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
    print("locationmanager got called") 
    let locValue:CLLocationCoordinate2D = manager.location!.coordinate 
    print("locations = \(locValue.latitude) \(locValue.longitude)") 
    } 
    } 

Info.plistの設定:

info.plist

マイシミュレータの設定:

simulator setting

+0

コードに重複はありません.func locationManagerは1つだけです。あなたは説明できますか? – vrao

+0

はい、これが質問に答えました。ありがとうございましたNirav – vrao

答えて

0

あなたは、アプリケーションを起動した後、場所を変更しましたか?メニュー:デバッグ/場所/ ... またはデフォルトの場所を変更する(最後のスクリーンショットで)

+0

Allow Location Simulation設定はデフォルトで既にオンになっています。私はいつでもデフォルトの場所を設定しませんでした。何が間違っている場合は私にどのような設定を教えてください? – vrao

+0

あなたに返信した後、元の場所を現在の場所に戻して再試行しました。それでも動作しません。 – vrao

+0

シミュレータを実行しているときに、上記のDebug/Location/...のように、メニューから位置を選択することができます。デフォルトではnoneにすることができるので、通知を受け取ることはありません。 –

関連する問題