web-dev-qa-db-fra.com

GoogleMaps sans CocoaPods

Je voudrais ajouter GoogleMaps à mon projet iOS mais je ne veux pas utiliser CocoaPods. Y a-t-il un moyen d'y parvenir?

25
Sandah Aung

Bien sûr, il y a:

Comment l'ai-je fait (utile pour toute bibliothèque dont vous avez besoin)

  • Accédez au pod dont vous avez besoin, dans ce cas: https://cocoapods.org/pods/GoogleMaps
  • Cliquez sur le lien "Voir Podspec" sous la bibliothèque dans le coin inférieur droit
  • Vous allez être amené au podspec.json
  • À la fin du JSON, recherchez la clé "source" et utilisez l'url fournie pour télécharger le SDK.

Si vous avez besoin d'instructions sur la façon de l'installer manuellement, vous pouvez utiliser le site Web waybackmachine et mettre l'url correspondante, en fixant une date antérieure. Je vais vous faire gagner du temps:

Ajout de Google Maps à l'ancienne:

  1. Lancez Xcode et ouvrez un projet existant ou créez un nouveau projet.
    • Si vous êtes nouveau sur iOS, créez une application à vue unique et assurez-vous que l'option Utiliser le comptage automatique des références est activée.
  2. Faites glisser le bundle GoogleMaps.framework vers votre projet. Lorsque vous y êtes invité, sélectionnez Copier les éléments dans le dossier du groupe de destination.
  3. Cliquez avec le bouton droit sur GoogleMaps.framework dans votre projet et sélectionnez Afficher dans le Finder.
  4. Faites glisser GoogleMaps.bundle du dossier Ressources vers votre projet. 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.
  5. Sélectionnez votre projet dans le Navigateur du projet et choisissez la cible de votre application.
  6. Ouvrez l'onglet Build Phases et, dans Link Binary with Libraries, ajoutez les cadres suivants:
    • AVFoundation.framework
    • CoreData.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc ++. dylib
    • libicucore.dylib
    • libz.dylib
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
  7. Choisissez votre projet, plutôt qu'une cible spécifique, et ouvrez l'onglet Paramètres de construction.
    • Dans la section Autres indicateurs de l'éditeur de liens, ajoutez -ObjC. Si ces paramètres ne sont pas visibles, modifiez le filtre dans la barre Paramètres de génération de De base à Tout.
  8. Enfin, ajoutez votre clé API à votre AppDelegate.
    • #import <GoogleMaps/GoogleMaps.h>
    • Ajoutez ce qui suit à votre application:didFinishLaunchingWithOptions: Méthode, en remplaçant API_KEY par votre clé API. [GMSServices provideAPIKey:@"API_KEY"];

#import <GoogleMaps/GoogleMaps.h>

Ajoutez ce qui suit à votre application:didFinishLaunchingWithOptions: méthode, remplaçant API_KEY avec votre clé API.

[GMSServices provideAPIKey:@"API_KEY"];
70
  1. https://www.gstatic.com/cpdc/aa3052925ceeea2d-GoogleMaps-1.13.2.tar.gz Copiez et ouvrez cette URL .

  2. Faites glisser vers votre projet Xcode GoogleMaps.framework.

    * sélectionnez Copier les éléments dans le dossier du groupe de destination

  3. Faites un clic droit sur GoogleMaps.framework -Afficher dans le Finder

  4. Dans le dossier Resources de GoogleMaps.bundle, faites-le glisser vers le projet (* Ne sélectionnez pas l'élément de copie).

  5. Importer plusieurs FrameWork

    • CoreBluetooth.framework
    • OpenGLES.framework
    • ImageIO.framework
    • CoreData.framework
    • CoreText.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • GLKit.framework
    • CoreLocation.framework
    • Security.framework
    • Accelerate.framework
    • libc ++ abi.tbd
    • libc ++. 1.tbd
    • libc.tbd
    • libicucore.tbd
  6. Choisissez votre projet, ouvrez l'onglet Paramètres de construction. Dans la section Other Linker Flags, ajoutez -ObjC dans les deux . Capture d'écran de l'ajout de -ObjC

  7. importation

    Ajoutez ce qui suit à votre application: méthode didFinishLaunchingWithOptions:, en remplaçant API_KEY par votre clé API. [GMSServices fournissentAPIKey: @ "API_KEY"];

    (* obtenir la clé api https://developers.google.com/maps/documentation/ios-sdk/places#whats_in_the_api_name_ios_places )

    Veuillez me faire part de toute erreur que vous avez trouvée. Cela fonctionne pour Xcode 7 +, iOS 9+.

2