3 Stimmen

Standortdienste werden auf dem iPad nicht aktiviert

Ich entwickle eine iOS-App, die Standortdienste nutzt. Die App funktioniert gut auf iPhones (3GS und 4), fordert aber keine Standortdienste an, wenn sie auf dem iPad ausgeführt wird. Das heißt, der Benutzer wird nie aufgefordert, die Standortdienste zu aktivieren, und die App wird auch nicht im Abschnitt "Standortdienste" der App "Einstellungen" angezeigt.

Ich habe einige Forenbeiträge gesehen, in denen ähnliche Probleme beschrieben wurden, aber alle wurden gelöst, indem die App auf dem iPad über iTunes (über Ad-hoc-Verteilung) installiert wurde, anstatt sie über Xcode auszuführen, oder indem die Standortwarnungen zurückgesetzt wurden. Ich habe diese beiden Lösungen auf einem iPad, einem iPad 2 und dem iPad-Simulator ausprobiert, beide ohne Erfolg.

Wir verwenden den folgenden Code, um Aktualisierungen der Standortdienste zu aktivieren. Wir haben sowohl durch Debugging auf dem Gerät als auch durch die Platzierung von NSLog s, dass unser Code ausgeführt wird.

- (id)init {
    [super init];

    if (clManager == nil) {
        clManager = [[CLLocationManager alloc] init];
    }
    clManager.delegate = self;

    [self startLocationMonitoring];

    return self;
}

- (BOOL)isLocationAvailable {
    return [CLLocationManager significantLocationChangeMonitoringAvailable];
}

- (void)startLocationMonitoring {
    if ([self isLocationAvailable]) {
        [clManager startMonitoringSignificantLocationChanges];
    } else {
        // handle lack of Location Services
    }
}

4voto

zoul Punkte 99332

Dies beantwortet wahrscheinlich nicht Ihre Frage, aber vielleicht hilft es jemandem. Die WiFi-iPad-Modelle unterstützen keine signifikanten Standortänderungen (die significantLocationChangeMonitoringAvailable Methode gibt zurück NO ) und die startMonitoringSignificantLocationChanges scheint nichts zu bewirken, wenn es auf diesen ausgeführt wird - es löst weder die Fehlerdelegierungsmethode aus, noch bringt es den blauen Blasen-Dialog mit der Frage nach der Erlaubnis für Standortdienste hervor.

0 Stimmen

Vielen Dank, das war genau das, was ich wissen wollte. In meiner App verwende ich startMonitoringSignificantLocationChange und viele iPad wifi und iPod Benutzer haben berichtet, dass die Standortdienste nicht richtig funktionieren. Ich habe beschlossen, zu startMonitoringLocations zu wechseln, um diese Benutzer zu unterstützen, falls significantLocationChangeMonitoringAvailable NO zurückgibt. Vielen Dank für den Hinweis!

0 Stimmen

Ja, das ist richtig. Das iPad 1 WiFi unterstützt es nicht. Ich habe das gerade selbst ausprobiert. iPad 1 WiFi+3G unterstützen es. Ich entschied mich, startLocationMonitoring zu verwenden und es dann wieder auszuschalten, sobald ich einen Standort erhalte - was für meinen Zweck gut war. Alternativ könnten Sie startLocationMonitoring und verwenden Sie ein distanceFilter, um Ihre eigenen "signifikante" Standortänderung angeben.

0voto

Saurabh Passolia Punkte 8089

Das iPad gibt es in 2 Modellen (wifi und wifi+3G). http://www.apple.com/ipad/specs/

Das WiFi-Modell hat keine A-GPS-Unterstützung.

Wenn Sie die Spezifikation durchgehen, werden Sie sehen, dass A-GPS nur im wifi+3G-Modell verfügbar ist und Sie vielleicht das wifi(only)-Modell verwenden.

Allerdings kann das iPad über WIFI die Standorte erkennen, wenn der Router das gleiche anbietet, was in Ihrem Fall nicht der Fall zu sein scheint.

Sie können Ihre App auf dem iPad2 wifi+3G Version versuchen und Sie werden sehen, dass es läuft einfach gut !

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X