iOS 8 - ne Peut pas obtenir de l'emplacement actuel, une Erreur de Domaine=kCLErrorDomain Code=0
J'ai problème avec l'obtention de mon emplacement actuel. J'ai toujours l'erreur:
Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
J'ai déjà fait tout ce que j'ai trouvé ici:
Réinitialiser le contenu et les paramètres dans le Simulateur iOS (carte d'application dans le simulateur montre l'emplacement correct).
Dans Xcode au Produit>Système>Modifier je banalisée Permettre à l'Emplacement de la Simulation (quand je marque,de simuler par exemple, Londres).
J'ai ajouté NSLocationWhenInUseUsageDescription pour Info.fichier plist dans mon projet (App demande pour les autorisations de position et je peux les voir dans les Paramètres dans le simulateur iOS).
J'ai la connexion Wi-Fi activé (comme je l'ai dit, les services de localisation fonctionne très bien dans Safari, des Cartes ou même des Cartes dans le Simulateur iOS).
-(void)viewDidLoad {
[super viewDidLoad];
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
if(IS_OS_8_OR_LATER){
NSUInteger code = [CLLocationManager authorizationStatus];
if (code == kCLAuthorizationStatusNotDetermined && ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)])) {
if([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"]) {
[self.locationManager requestWhenInUseAuthorization];
} else {
NSLog(@"Info.plist does not contain NSLocationAlwaysUsageDescription or NSLocationWhenInUseUsageDescription");
}
}
}
[self.locationManager startUpdatingLocation];
[self.FirstMap setShowsUserLocation:YES]; }
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
NSLog(@"didFailWithError: %@", error);
UIAlertView *errorAlert = [[UIAlertView alloc]
initWithTitle:@"Error" message:@"Failed to Get Your Location" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[errorAlert show]; }
Il y a une chose que j'ai oublié?
Merci!
OriginalL'auteur Mateusz Tylman | 2015-03-28
Vous devez vous connecter pour publier un commentaire.
Je suppose que peut-être vous avez besoin de lire ce thread est d'abord que c'est en grande partie recouvert.
L'emplacement de l'Erreur de Gestionnaire : (KCLErrorDomain erreur 0)
Mais de toute façon, j'ai testé ton code et j'ai obtenu le même message d'erreur que vous avez signalé. Puis-je changer la simulation de la configuration. Pour être plus précis, dans le simulateur, j'ai cliqué Debug -> Emplacement -> Emplacement Personnalisé... et saisir des coordonnées, et je peux recevoir périodiquement l'emplacement des événements (à une vitesse de chaque échantillon par seconde). Alors peut-être que le problème n'est pas du code, mais à partir du simulateur lui-même. Espère que ma réponse vous aide.
Mise à JOUR
Je suppose que j'ai mal compris votre question. Ce que vous voulez, c'est "automatiquement" obtenir votre position actuelle dans le simulateur. J'ai peur, il n'y a pas une telle fonctionnalité dans xcode, au lieu de cela, vous devez utiliser la fonction "ajouter fichier gpx de projet", qui est même plus de travail que de l'aide personnalisé de l'emplacement. Mais je veux dire, si vous avez réussi à se emplacements corrects, pourquoi cela vous dérange pour obtenir la bonne position actuelle du simulateur, ou d'autres, peut-être que vous pouvez tester sur le téléphone?
Ouh, je ne savais pas que je ne peux pas obtenir de l'emplacement actuel dans le Simulateur iOS. J'ai pensé que si la carte d'application sur le Simulateur affiche correctement(la même que sur la Carte d'application dans Mac) il y a une façon de montrer que. Merci !
OriginalL'auteur TimeString
Dans iOS 8, vous avez à prendre d'abord la permission de l'utilisateur pour accéder à l'emplacement que vous ne peut pas accéder au local comme dans iOS 7
pour plus de prendre l'aide de ce lien http://nshipster.com/core-location-in-ios-8/
OriginalL'auteur Fatti Khan
Vérifier la connexion Internet.
si la connexion est ok, alors
Allez d'abord à Xcode journal bar et un ensemble de "Ne pas simuler l'emplacement". Ensuite, sélectionnez menu simulator>debug>site>personnaliser ou sélectionnez tout.
OriginalL'auteur saraman