Lorsque je crée un SDK GoogleMaps pour iOS, ces erreurs se sont produites.
*** Terminating app due to uncaught exception 'GMSException', reason: 'Google Maps SDK for iOS requires GoogleMaps.bundle to be part of your target under 'Copy Bundle Resources''
mais, GoogleMaps.framework est dans le bundle de copie resources.so, je suis confus.Veuillez me dire la cause de ce problème.
Les instructions manquent un peu. J'espère que ça aide...
Faites glisser le groupe GoogleMaps.framework vers le groupe Frameworks de votre projet. Lorsque vous y êtes invité, sélectionnez Copier les éléments dans le dossier du groupe de destination.
Cliquez avec le bouton droit sur GoogleMaps.framework dans votre projet et sélectionnez Afficher dans le Finder. Ce qu'il ne dit pas, c'est ... Ensuite, allez dans le dossier enfant appelé Resources
Faites glisser GoogleMaps.bundle du dossier Ressources vers votre projet. Nous vous suggérons de le mettre dans le groupe Frameworks. Lorsque vous y êtes invité, assurez-vous que l'option Copier les éléments dans le dossier du groupe de destination n'est pas sélectionnée.
Pour les personnes qui recherchent SO en 2017, le moyen le plus simple est en effet d'essayer d'installer et de mettre à jour votre pod par bien sûr pod install
et pod update
. Enfin, nettoyez le projet et la génération par ces deux commandes:
Command + alt option + Shift + K
Command + Shift + K
Alors voila! Le crash ne se reproduira plus.
Pour ceux d'entre vous qui ont essayé cela en 2017 avec Xcode 9 (première version) et le nouveau système de construction, ce qui suit a résolu ce problème pour moi.
Remarque: Le problème fondamental semble être que le nouveau système de construction ne nettoie PAS correctement, vous devez donc revenir à l'ancien système. Depuis le 25/09/17, le sélecteur de place Google appelle l'interface utilisateur du thread principal et génère des erreurs dans Xcode.
-Passez à l'ancien système de construction
-Cliquez sur votre fichier de projet "My App Name"
-Sous "TARGETS", cliquez sur le nom de votre application (pas sur les tests ou les UITests!)
-les phases de construction
- [CP] Copy Pods Resources
-Vous devriez voir $ {PODS_ROOT}/GoogleSomething, sélectionnez-les et appuyez sur -
-Fermez Xcode, exécutez l'installation du pod.
-Ouvrez Xcode, Command-Shift-K (nettoyez et assurez-vous que vous êtes sur l'ancien système de construction!)
-Build/Run, devrait fonctionner maintenant
Si vous rencontrez ce problème dans une version plus récente de ce framework et utilisez le déploiement CocoaPods, vérifiez que la section " Copy Pods Resources " de " Phases de construction ":
Apparemment, cette section disparue est une chose et supprimer votre répertoire Pods et relancer " pod install " n'est pas suffisant pour le corriger. Au lieu de cela, vous devrez saisir cet outil pratique:
https://github.com/CocoaPods/cocoapods-deintegrate
Exécutez cette chose, puis réexécutez l'installation du pod et vos " Copier les ressources des pods "devrait être de retour et vous n'obtiendrez pas cette exception lorsque vous instanciez votre carte.
l'exécution de "pod install" a résolu ce problème pour moi.
J'étais confronté au même problème, procédez comme suit:
1. Go to derived folder and delete the project folder
2. Clean build and run
Correction du problème
Pour moi, j'ai le même problème dans l'installation manuelle.
1. cliquez avec le bouton droit sur GoogleMaps.framework dans votre projet et sélectionnez Afficher dans le Finder.
Remarque: assurez-vous que le dossier du groupe de destination "Copier les éléments si nécessaire" n'est pas sélectionné. voir aussi la capture d'écran.
maintenant nettoyer la commande + Maj + K ou Xcode -> Produit -> Nettoyer
cela peut aider quelqu'un.
Une fois que j'ai mis à jour vers Xcode 9 Swift 3.2, je n'arrêtais pas de faire planter AppDelegate sur cette ligne:
GMSServices.openSourceLicenseInfo()
J'ai continué à utiliser la réponse de Glenn pour nettoyer le projet qui a vraiment fonctionné mais finalement le crash a continué de se produire.
Pour le résoudre, j'ai dû suivre les instructions de Installation de l'API Google Maps
Suivre:
Étape 2: installer le SDK et Installer manuellement
C'est très facile à faire, mais une chose m'a un peu dérouté au début, donc je l'ajoute pour plus de clarté pour la personne suivante:
Une fois que vous avez lu les instructions du manuel et au numéro 4, il est dit:
4. Drag the following bundles into your project (when prompted, select Copy items if needed):
La chose est à l'intérieur du fichier Zip que vous téléchargez, une fois que vous le décompressez, il n'y aura que 2 frameworks à l'intérieur:
GoogleMaps.framework
GoogleMapsCore.framework
Il n'y aura pas de GoogleMapsBase.framework
. Je suppose qu'ils l'ont regroupé dans le GoogleMaps.framework
?
Une fois que vous arrivez au numéro 8: Open the Build Phases tab, and within Link Binary with Libraries, add the following frameworks:
. Il répertorie un certain nombre de cadres que vous devez importer.
Le problème est que les 3 premiers répertoriés qui, selon lui, ont été ajoutés ont déjà été ajoutés (en fait, deux d'entre eux ont été ajoutés -GoogleMaps.framework
et GoogleMapsCore.framework
) lorsque vous avez décompressé ce fichier Zip et que vous les avez glissés dans votre projet.
J'ai continué à taper les noms et rien ne s'affichait.
J'ai continué à supprimer tous les frameworks Google, en commençant depuis le début, et en réessayant jusqu'à ce que je réalise qu'ils existaient déjà. Tapez simplement les noms de tout, de Accelerate.framework
- UIKit.framework
et vous devriez être bon.
Arrêt de l'application en raison d'une exception non interceptée "GMSException", raison: "Le SDK Google Maps pour iOS nécessite que GoogleMaps.bundle fasse partie de votre cible sous" Copier les ressources du bundle "
GoogleMaps.bundle
dans GoogleMap.frameword/Resources
vous verrez GoogleMap.bundleGoogleMaps.bundle
en Base/Framework
avec GoogleMapsBase.frameworkj'espère que cela peut aider. Merci