web-dev-qa-db-fra.com

Google Maps (vue GMS) ne s'affiche pas dans iOS

J'ai incorporé les éléments suivants:

  1. J'ai essayé d'importer les fichiers GoogleMaps/GoogleMaps.h Et GoogleMapsM4B/GoogleMaps.h Via un en-tête de pontage Obj-C
  2. Tapé manuellement la clé API iOS dans ma méthode AppDelegate.Swift (didFinishLaunchingWithOptions).
  3. Nettoyé le projet (commande + shift + k)
  4. Xcode fermé/relancé
  5. Xcode désinstallé/réinstallé

Et à peu près tout le reste que d'autres personnes ont suggéré. J'ai passé deux jours consécutifs à essayer de résoudre ce problème. Quelqu'un connaît-il une solution à ce problème?

La plainte de la console est:

> "2015-08-17 18:02:19.899 Project[608:10014] ClientParametersRequest
> failed, 3 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790bc050
> {data=<CFData 0x7925cb40 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:19.899 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) version: 1.10.17867.0 2015-08-17 18:02:19.959
> randoPracty[608:10014] ClientParametersRequest failed, 2 attempts
> remaining (0 vs 6). Error Domain=com.google.HTTPStatus Code=400 "The
> operation couldn’t be completed. (com.google.HTTPStatus error 400.)"
> UserInfo=0x7925cf40 {data=<CFData 0x79187b20 [0x22da9a8]>{length =
> 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ...
> 3c2f48544d4c3e0a}} 2015-08-17 18:02:24.406 randoPracty[608:10014]
> ClientParametersRequest failed, 1 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790f4c60
> {data=<CFData 0x786e5610 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] ClientParametersRequest
> failed, 0 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) cannot connect or validate APIKey: Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.798 randoPracty[608:10014] Your key may be invalid
> for your bundle ID: com.User.ProjectName"
27
Avery Bentz

Moi aussi, j'ai été confronté au même problème. Tout d'abord, suivez les étapes ci-dessous.

  1. Avez-vous suivi toutes les étapes mentionnées dans le lien this ?

  2. Bien que vous ne puissiez pas passer, vérifiez que votre identifiant de bundle correspond à celui que vous avez utilisé pour créer la clé.

Si tout va bien, le problème est avec le cadre. Au début, j'ai également utilisé le cadre GoogleMapsM4B qui ne fonctionnait pas pour moi. J'ai téléchargé l'autre framework qui fonctionne bien pour moi à partir du lien this .

Ajoutez le nouveau cadre (GoogleMaps.framework) et supprimez le GoogleMapsM4B cadre du projet. Cela a résolu mon problème. J'espère que cela vous aidera.

MODIFIER:

À partir de la version 1.10.0, l'installation du framework n'est prise en charge que via des cocoapods. Et tous les téléchargements Zip ont été supprimés pour les versions précédentes. Lisez la section "Migration à partir de la version 1.9.2 ou antérieure:" sous "Version 1.10.0 - mai 2015" dans le lien this .

28
Dev

Activez simplement "Google Maps SDK pour iOS" pour votre projet dans Google Developers Console .

37
Michael Katkov

J'ai eu le même problème. Dans mon cas, je devais activer manuellement le SDK Google Maps pour iOS et le SDK Google Places pour iOS dans la section Présentation de la bibliothèque d'API Google.

Les étapes pour l'activer sont:

  1. Accédez à la page Présentation dans la bibliothèque d'API.
  2. Choisissez ici SDK Google Maps pour iOS et SDK Google Places pour iOS .

enter image description here

  1. Choisissez en haut à gauche, le deuxième élément. Sur la capture d'écran, il est désormais activé. Avant, il était désactivé.

enter image description here

Peut-être que cela aide aussi quelqu'un.

Cordialement, Matt

8
Mattk90

Pouvez-vous mettre à jour votre question pour fournir plus de détails? (version xcode, version Google Maps Framework, etc.)

  1. Vérifiez que votre clé API est valide pour votre identifiant de bundle sur console.developer.google.com
  2. Lors de l'exécution, vérifiez et voyez si des erreurs SSL se produisent dans la console. Dans mon cas, j'avais des problèmes de certificat avec Google, et cela a interféré avec le chargement de mes tuiles de carte.
  3. Assurez-vous que vous n'avez que le framework M4B OR le framework normal dans votre projet. Si vous incluez les deux, je suis presque sûr qu'ils sont en conflit les uns avec les autres.

J'espère que cela vous aidera; il a juste commencé au hasard à fonctionner correctement dans mon cas.

3
72A12F4E

Vérifiez l'identifiant du bundle spécifié dans le paramètre cible du projet Xcode et la page de projet Google où vous avez créé la clé API Google. les deux doivent correspondre sinon GMSServices.provideAPIKey (googleMapsAPiKey) passera mais vous obtiendrez une erreur de connexion

L'opération n'a pas pu être terminée. (erreur com.google.HTTPStatus 400.)

1
Satheesh G

J'ai également fait face à ce problème et après une heure de recherche sur Google et de jonglage sur #SO, j'ai appris cette petite erreur:

Si vous avez modifié votre clé API (quelque part pendant le développement)

[GMSPlacesClient fournitAPIKey: @ "YOUR_API_KEY"];

que vous ajoutez à votre didFinishLaunchingWithOptions: méthode dans votre AppDelegate.m fichier . Assurez-vous que c'est la même chose que vous avez utilisé pour activer l'API Google Adresses ici

J'espère que cela peut aider quelqu'un après avoir essayé toutes les solutions.

1
iHarshil