Ich versuche, die Standortaktualisierungen zu erhalten, insbesondere wenn die Anwendung im Hintergrund ausgeführt wird. Wenn die Anwendung in den Hintergrund eintritt, sollte sie die Standortaktualisierungen für alle n Minuten senden Zuerst versuchte ich mit dem Vordergrund, es funktioniert gut. Ich habe den gleichen Code in die applicationDidEnterBackground kopiert. Ich kann die Standortaktualisierungen nicht drucken. Ich weiß nicht, wo ich geschlagen werde, bitte hilf mir.Standort wird aktualisiert Nur wenn App im Hintergrund ist
in viewDidLoad
- (void)viewDidLoad {
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
}
und
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
int degrees = newLocation.coordinate.latitude;
double decimal = fabs(newLocation.coordinate.latitude - degrees);
int minutes = decimal * 60;
double seconds = decimal * 3600 - minutes * 60;
NSString *lat = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
latLabel.text = lat;
degrees = newLocation.coordinate.longitude;
decimal = fabs(newLocation.coordinate.longitude - degrees);
minutes = decimal * 60;
seconds = decimal * 3600 - minutes * 60;
NSString *longt = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
longLabel.text = longt;
}
Ich habe versucht, diese Methoden in der AppDelegate einfügen. Es funktioniert nicht :(. Helfen Sie mir
Haben Sie einen Eintrag für UIBackgroundModes für den Standort in Plist erstellt? –
Vielen Dank für die Antwort. Es ist mein Fehler, ich habe vergessen, diesen zu ergänzen. Jetzt ist es hinzugefügt, und ich kann jetzt im Protokoll sehen. – Perseus