didUpdateLocation-Methode wurde nie aufgerufen

7

Ich mache eine App auf dem iPhone sdk4.0.In dem hat Update Location Methode nie aufgerufen. Ich habe meinen Code unten gegeben. Bitte helfen. Vielen Dank im Voraus.

%Vor%     
Akshay Aher 21.03.2011, 05:40
quelle

6 Antworten

5

HI, deine Codes scheinen in Ordnung zu sein. jetzt können dies mögliche Gründe sein:

bei Ihrer Initialisierung: versuchen Sie zu überprüfen, ob locationServicesEnabled vorhanden ist oder nicht.

%Vor%

Aus anderen Gründen können Sie den Standort Ihrer App nicht zulassen. Lösung: einfach Ihre Anwendung vom iPhone entfernen und neu erstellen, jetzt sollte das Dialogfeld auf Standort zulassen.

Verwenden Sie dies, um Fehler

zu überprüfen %Vor%

sonst scheint alles ok, Sie haben bereits iOS 4.0 ausgeführt, das in iPhone 3G und später installiert werden kann. Wenn es iPhone 2g war, dann kann dieses Problem auftreten.

    
Mujah Maskey 21.03.2011, 06:17
quelle
18

Außerdem müssen Sie in iOS8 zwei zusätzliche Dinge haben:

  • Fügen Sie einen Schlüssel zu Ihrer Info.plist hinzu und fordern Sie die Autorisierung vom Standortmanager an, um ihn zu starten.

    • NSLocationWhenInUseUsageDescription

    • NSLocationAlwaysUsageDescription

  • Sie müssen die Berechtigung für die entsprechende Standortmethode anfordern.

    • [self.locationManager requestWhenInUseAuthorization]

    • [self.locationManager requestAlwaysAuthorization]

Codebeispiel:

%Vor%

Quelle: Ссылка

    
MarMass 22.09.2014 16:32
quelle
4

Stellen Sie sicher, dass Sie CLLocationManager als Eigenschaft hinzugefügt haben.

@property (nicht atomisch, stark) CLLocationManager * locationManager;

    
Gabriel.Massana 28.01.2014 17:39
quelle
3

Wenn Sie dies auf dem Simulator testen, wird es nicht funktionieren.

Dies passiert, weil diese Methode nur aufgerufen wird, wenn das Gerät den Standort ändert (und der Simulator den Standort nie ändert).

    
Zebs 21.03.2011 07:09
quelle
1

Wird -locationManager:didFailWithError: in Ihrem Delegaten jemals aufgerufen? Möglicherweise haben Sie zu einem bestimmten Zeitpunkt den Zugriff auf Standortdaten verweigert und werden jetzt nicht zur Eingabe aufgefordert, der Zugriff wird jedoch verweigert.

    
visakh7 21.03.2011 06:09
quelle
0

Nachdem Sie alloc und init Ihren Standortmanager angegeben haben, überprüfen Sie, ob Standortdienste zulässig sind. Dieser Code stammt aus Apples Codemuster "LocateMe"

%Vor%

Wenn Sie mit dem Simulator testen, testen Sie stattdessen mit einem Gerät. Der Simulator erfordert, dass der WiFi-Anschluss des Computers eingeschaltet ist und dass er eine WiFi-Basisstation finden kann, die sich in seiner Datenbank mit bekannten Speicherorten befindet.

    
nevan king 21.03.2011 06:35
quelle