Je développe une application qui a de nombreuses vues. Dans mon application parfois l'utilisateur arrive à une vue où il peut demander sa position en cliquant sur un bouton. J'essaie de suivre les lignes directrices d'Apple pour ne demander que la position de l'utilisateur si l'utilisateur le permet. Que dois-je faire, utiliser le premier code suivant dans le délégué de l'application et déclarer un attribut du gestionnaire d'emplacement dans l'affichage que l'utilisateur appelle, en passant l'attribut du gestionnaire d'emplacement à la nouvelle vue et à l'autre que l'utilisateur clique sur le bouton pour se localiser? ou utilisez simplement le second code, en déclarant un attribut de gestionnaire d'emplacement seulement dans les vues qui permettent d'obtenir l'emplacement de l'utilisateur avec un bouton, pour vérifier si les services de localisation sont activés?Travailler avec iOS Location Manager
Premier extrait.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Add the navigation controller's view to the window and display.
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
// Create a location manager instance to determine if location services are enabled. This manager instance will be
// immediately released afterwards.
CLLocationManager *manager = [[CLLocationManager alloc] init];
if (manager.locationServicesEnabled == NO) {
UIAlertView *servicesDisabledAlert = [[UIAlertView alloc] initWithTitle:@"Location Services Disabled" message:@"You currently have all location services for this device disabled. If you proceed, you will be asked to confirm whether location services should be reenabled." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[servicesDisabledAlert show];
[servicesDisabledAlert release];
}
[manager release];
return YES;
}
Deuxième extrait.
- (IBAction)locateUser:(id)sender {
if([CLLocationManager locationServicesEnabled]) {
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
self.locationManager.delegate = self;
} else {
[[[[UIAlertView alloc] initWithTitle:@"Location services."
message:@"Location services are disabled."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] autorelease] show];
}
}
Merci d'avoir lu.
Personne ne peut m'aider? –