Pourquoi le CLLocationManager délégué n'est pas appelé dans le SDK de l'iPhone 4.0?
C'est le code que j'ai dans mon AppDelegate Classe
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = 1000; //1 Km
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
[locationManager startUpdatingLocation];
}
Et c'est le délégué de la méthode que j'ai dans mon AppDelegate Classe
//This is the delegate method for CoreLocation
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
//printf("AppDelegate latitude %+.6f, longitude %+.6f\n", newLocation.coordinate.latitude, newLocation.coordinate.longitude);
}
Son travail en 3.0, 3.1, 3.1.3 , mais sa ne fonctionne pas dans la version 4.0 simulateur et périphérique à la fois.
Quelle est la raison ?
Merci @Scott Christopherson pour certains approche positive..... mais encore, nous sommes devenus des marionnettes et de changer nos code à chaque fois il y a un nouveau SDK de l'iPhone version .Toujours trouver quelques méthodes sont obsolètes ou qui ne fonctionnent pas....
Merci @Scott Christopherson s'il vous plaît voter pour fermer cette Question .... comme personne ne peut résoudre ce problème...
Face à un même problème ici, êtes-vous sûr qu'il faut environ 40 à l'emplacement de mise à jour?
Quelqu'un a trouver une solution pour cela???
Ses travaux sur l'Appareil de l'iOS4.0 mais avec 40 secondes de retard , tandis que sa prise de 2/3 secondes sur l'iPhone OS 3.1.2
Merci @Scott Christopherson s'il vous plaît voter pour fermer cette Question .... comme personne ne peut résoudre ce problème...
Face à un même problème ici, êtes-vous sûr qu'il faut environ 40 à l'emplacement de mise à jour?
Quelqu'un a trouver une solution pour cela???
Ses travaux sur l'Appareil de l'iOS4.0 mais avec 40 secondes de retard , tandis que sa prise de 2/3 secondes sur l'iPhone OS 3.1.2
OriginalL'auteur Biranchi | 2010-06-17
Vous devez vous connecter pour publier un commentaire.
J'ai eu une erreur similaire, et il est résolu maintenant. La question est de déclarer locationManager variable localement. Déclarer plutôt comme une variable de classe et assurez-vous qu'il est conservé, soit directement ou par l'intermédiaire de la propriété de conserver (ou de fortes si vous utilisez l'ARC). Qui résout le problème! La question était de locationManager variable a été libéré et jamais mis à jour le délégué. Voici le code:
.h fichier:
.m fichier:
J'espère que cela aide.
OriginalL'auteur SebastianView
Ne
-locationManager:didFailWithError:
dans votre délégué jamais appelé? Je pense simplement que, peut-être vous voir refuser l'accès à des données de localisation à un certain point, et maintenant ne pas obtenir de l'invité, mais l'accès vous est refusé.OriginalL'auteur Thomas Müller
Êtes-vous sûr que vous n'êtes pas la désallocation de l'emplacement du gestionnaire de quelque part? Le code que vous avez montre allouée dans le didFinishLaunching la méthode... mais alors d'être oublié (même si c'est toujours retenu et devrait donc encore du travail).
Faire de même de voir que les premières popup vous demandant si c'est OK pour obtenir la localisation de l'utilisateur?
OriginalL'auteur Kendall Helmstetter Gelner
Mettre les codes dans un viewController "qui est poussé à navigationController".
Mon code est.
Dans SomeViewController.h
Dans SomeViewController.m
Le problème je crois, à cause de l'ARC, locationManager est libéré.
OriginalL'auteur Howard