2011-01-21 2 views
0

My Home UIView requiert les coordonnées de localisation actuelles et je ne voudrais pas qu'il soit appelé avant d'avoir ces coordonnées. Comment puis-je y arriver?Attendre que l'emplacement actuel soit défini dans didFinishLaunchingWithOptions

dans ce code, la vue est appelée avant la mise à jour de l'emplacement actuel:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

     currentLocation = [[CLLocation alloc] init]; 
    locationManager = [[CLLocationManager alloc] init]; 
    locationManager.delegate = self; 
    [locationManager startUpdatingLocation]; 

TTNavigator *navigator = [TTNavigator navigator]; 
      navigator.persistenceMode = TTNavigatorPersistenceModeAll; 
      TTURLMap *map = navigator.URLMap; 

      [map from:@"tt://HomeView" toViewController: viewController]; 
      [navigator openURLAction:[TTURLAction actionWithURLPath:@"tt://HomeView"]]; 
     } 

Répondre

0

utilisateurs peuvent avoir un service de localisation désactivée. donc je ne ferais pas cela .. À la place, vérifiez l'emplacement après didFinishLaunchingWithOptions, afin que votre problème actuel sera résolu. et ajouter un autre écran pour que l'utilisateur active le service de localisation s'il est éteint.

+0

Sans le service de localisation, l'application est inutile. – erastusnjuki

+0

Oui, je comprends que .. didFinishLaunchingWithOptions n'est pas un bon endroit pour vérifier que ... si l'utilisateur ne permet pas d'utiliser le service de localisation, votre application ne s'ouvrira jamais. au moins afficher un message pour informer l'utilisateur. – kthorat

Questions connexes