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
}
}