Suivez les étapes de ce guide pour télécharger le SDK Places pour iOS, pour ajouter la bibliothèque et ses dépendances à votre application et pour obtenir une clé API sans frais.
Des notes de version sont disponibles pour chaque version.
Étape 1 : Obtenir la dernière version de Xcode
Pour créer un projet à l'aide du SDK Places pour iOS, vous avez besoin des éléments suivants:
Étape 2: Installez le SDK
Pour installer l'API dans un nouveau projet, procédez comme suit:Utiliser CocoaPods
Le SDK Places pour iOS est disponible sous la forme d'un pod CocoaPod, GooglePlaces, qui contient toutes les fonctionnalités Places.
CocoaPods est un gestionnaire de dépendances Open Source pour les projets Cocoa Swift et Objective-C. Si vous ne disposez pas encore de l'outil CocoaPods, installez-le sur macOS en exécutant la commande suivante à partir du terminal. Pour en savoir plus, consultez le guide de démarrage de CocoaPods.
sudo gem install cocoapods
Créez un Podfile
pour le SDK Places pour iOS et utilisez-le pour installer le SDK et ses dépendances:
- Si vous n'avez pas encore de projet Xcode, créez-en un et enregistrez-le sur votre machine locale. Si vous débutez dans le développement iOS, créez un projet et sélectionnez le modèle d'application iOS.
- Créez un fichier nommé
Podfile
dans le répertoire de votre projet. Ce fichier définit les dépendances de votre projet. - Modifiez
Podfile
et ajoutez vos dépendances avec leurs versions. Voici un exemple qui spécifie le nom de la cible d'application et le nom du podGooglePlaces
:source 'https://github.com/CocoaPods/Specs.git' platform :ios, '14.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GooglePlaces', '8.0.0' end
Assurez-vous d'exécuter régulièrementpod outdated
pour détecter la version la plus récente afin d'être toujours à jour. - Enregistrez le
Podfile
. Ouvrez un terminal et accédez au répertoire contenant le
Podfile
:cd <path-to-project>
Exécutez la commande
pod install
. Cela installera les API spécifiées dans lePodfile
, ainsi que toutes les éventuelles dépendances.pod install
Fermez Xcode, puis ouvrez (double-cliquez) le fichier
.xcworkspace
de votre projet pour lancer Xcode. À partir de ce moment, vous devez utiliser le fichier.xcworkspace
pour ouvrir le projet.
Pour mettre à jour l'API d'un projet existant, procédez comme suit:
- Ouvrez un terminal et accédez au répertoire du projet contenant
Podfile
. - Exécutez la commande
pod update
. Cela permet de mettre à jour toutes les API spécifiées dans lePodfile
vers la dernière version.
Utiliser Carthage
Le SDK Places pour iOS est disponible avec Carthage, un gestionnaire de dépendances simple et décentralisé pour les projets Swift et Objective-C Cocoa.
- Installez Carthage. Il existe plusieurs méthodes. Consultez le fichier README de Carthage pour connaître les étapes précises.
- Si vous n'avez pas encore de projet Xcode, créez-en un et enregistrez-le sur votre machine locale. Si vous débutez dans le développement iOS, créez un projet et sélectionnez le modèle d'application iOS.
- Créez un fichier nommé
Cartfile
dans le répertoire de votre projet. Ce fichier définit les dépendances de votre projet. - Modifiez le
Cartfile
et ajoutez vos dépendances ainsi que leurs versions:
binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1
Exécutez régulièrementcarthage outdated
pour détecter les nouvelles versions et vous assurer de toujours disposer des dernières. - Enregistrez le
Cartfile
. - Dans une fenêtre de terminal, accédez au répertoire contenant
Cartfile
:
cd <path-to-project>
- Exécutez la commande
carthage update
. Cela installera les API spécifiées dans leCartfile
, ainsi que toutes les éventuelles dépendances. - Dans le Finder, dans le répertoire de votre projet, accédez aux fichiers du framework téléchargés sous
Carthage/Build/iOS
. - Faites glisser les groupes suivants dans votre projet (lorsque vous y êtes invité, sélectionnez Copier les éléments si nécessaire) :
GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
- Effectuez un clic droit sur
GooglePlaces.xcframework
dans votre projet, puis sélectionnez Show In Finder (Afficher dans le Finder). - Faites glisser
GooglePlaces.bundle
du dossierResources
vers votre projet. Lorsque vous y êtes invité, vérifiez que Copy items into destination group's folder (Copier les éléments dans le dossier du groupe de destination) n'est pas sélectionné. - Sélectionnez votre projet dans Project Navigator, puis choisissez la cible de votre application.
- Ouvrez l'onglet Build Phases (Phases de compilation), puis dans les champs Link Binary with Libraries (Associer le binaire avec les bibliothèques), ajoutez les frameworks et bibliothèques suivants :
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
Choisissez votre projet plutôt qu'une cible spécifique, et ouvrez l'onglet Build Settings (Paramètres de build).
- Dans la section Autres indicateurs d'association, ajoutez
-ObjC
. Si ces paramètres ne sont pas visibles, remplacez le filtre Basic par All dans la barre Build Settings.
Pour mettre à jour l'API d'un projet existant, procédez comme suit:
- Ouvrez un terminal et accédez au répertoire du projet contenant
Cartfile
. - Exécutez la commande
carthage update
. Cela permet de mettre à jour toutes les API spécifiées dans leCartfile
vers la dernière version.
Insérer la balise manuellement
Ce guide explique comment ajouter manuellement le framework GooglePlaces à votre projet et configurer vos paramètres de compilation dans Xcode.
- Téléchargez les fichiers sources du SDK : GooglePlaces-8.0.0.
- Décompressez les fichiers sources.
- Lancez Xcode et ouvrez un projet existant ou créez-en un. Si vous débutez dans le développement iOS, créez un projet et sélectionnez le modèle d'application iOS.
- Supprimez tous les groupes Maps des précédentes versions de votre projet.
- Faites glisser les groupes suivants dans votre projet (lorsque vous y êtes invité, sélectionnez Copier les éléments si nécessaire) :
GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
- Effectuez un clic droit sur
GooglePlaces.xcframework
dans votre projet, puis sélectionnez Show In Finder (Afficher dans le Finder). - Faites glisser
GooglePlaces.bundle
du dossierResources
vers votre projet. Lorsque vous y êtes invité, vérifiez que Copy items into destination group's folder (Copier les éléments dans le dossier du groupe de destination) n'est pas sélectionné. - Sélectionnez votre projet dans Project Navigator, puis choisissez la cible de votre application.
- Ouvrez l'onglet Build Phases (Phases de compilation), puis dans les champs Link Binary with Libraries (Associer le binaire avec les bibliothèques), ajoutez les frameworks et bibliothèques suivants :
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
Choisissez votre projet plutôt qu'une cible spécifique, et ouvrez l'onglet Build Settings (Paramètres de build).
- Dans la section Autres indicateurs d'association, ajoutez
-ObjC
. Si ces paramètres ne sont pas visibles, remplacez le filtre Basic par All dans la barre Build Settings.
Installer XCFramework
Un XCFramework est un package binaire que vous pouvez utiliser sur plusieurs plates-formes, y compris des machines utilisant le chipset M1, pour installer le SDK Places pour iOS. Ce guide explique comment ajouter le XCFramework contenant le SDK Places pour iOS à votre projet et configurer vos paramètres de compilation dans Xcode.
Avec carthage
Le SDK Places pour iOS est disponible avec Carthage, un gestionnaire de dépendances simple et décentralisé pour les projets Cocoa Swift et Objective-C.
- Installez Carthage. Il existe plusieurs méthodes. Consultez le fichier README de Carthage pour connaître les étapes précises.
- Si vous n'avez pas encore de projet Xcode, créez-en un et enregistrez-le sur votre ordinateur local. Si vous débutez dans le développement iOS, créez un projet et sélectionnez le modèle d'application iOS.
- Créez un fichier nommé
Cartfile
dans le répertoire de votre projet. Ce fichier définit les dépendances de votre projet. Modifiez
Cartfile
et ajoutez vos dépendances avec leurs versions:binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1-beta
- Enregistrez le
Cartfile
. Dans une fenêtre de terminal, accédez au répertoire contenant
Cartfile
:cd <path-to-project>
- Exécutez la commande
carthage update
. Cette opération installe les API spécifiées dansCartfile
, ainsi que toutes leurs dépendances. - Dans le Finder, dans le répertoire de votre projet, accédez aux fichiers du framework téléchargé sous
Carthage/Build
. - Faites glisser les éléments XCFramework suivants dans votre projet sous Frameworks, Libraries, Embedded Content. Veillez à sélectionner Ne pas intégrer :
GooglePlaces-x.x.x/GooglePlaces.xcframework
- Effectuez un clic droit sur
GooglePlaces.xcframework
dans votre projet, puis sélectionnez Afficher dans le Finder. - Faites glisser
GooglePlaces.bundle
du dossierios-arm64/GooglePlaces.framework/Resources
vers le répertoire de premier niveau de votre projet Xcode. 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. - Sélectionnez votre projet dans le navigateur du projet, puis choisissez la cible de votre application.
- Ouvrez l'onglet Phases de compilation et dans Associer le binaire avec les bibliothèques, puis ajoutez les frameworks et bibliothèques suivants :
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
Choisissez votre projet plutôt qu'une cible spécifique, puis ouvrez l'onglet Build Settings (Paramètres de compilation).
- Dans la section Autres indicateurs d'association, ajoutez
-ObjC
. Si ces paramètres ne sont pas visibles, remplacez le filtre Basic par All dans la barre Build Settings.
Manuellement
Ce guide explique comment ajouter manuellement le SDK Maps pour iOS à votre projet et configurer vos paramètres de compilation dans Xcode.
- Téléchargez les fichiers sources du SDK : GooglePlaces-8.0.0.
- Décompressez les fichiers sources. Accédez au dossier Frameworks pour accéder à XCFramework.
- Lancez Xcode, puis ouvrez un projet existant ou créez-en un. Si vous ne connaissez pas iOS, créez un projet et sélectionnez le modèle d'application iOS.
- Faites glisser les éléments XCFramework suivants dans votre projet sous Frameworks, Libraries, Embedded Content. Veillez à sélectionner Ne pas intégrer :
GooglePlaces-x.x.x/GooglePlaces.xcframework
- Effectuez un clic droit sur
GooglePlaces.xcframework
dans votre projet, puis sélectionnez Afficher dans le Finder. - Faites glisser
GooglePlaces.bundle
du dossierios-arm64/GooglePlaces.framework/Resources
vers le répertoire de premier niveau de votre projet Xcode. 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. - Sélectionnez votre projet dans le navigateur du projet, puis choisissez la cible de votre application.
- Ouvrez l'onglet Phases de compilation et dans Associer le binaire avec les bibliothèques, puis ajoutez les frameworks et bibliothèques suivants :
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
Choisissez votre projet plutôt qu'une cible spécifique, puis ouvrez l'onglet Build Settings (Paramètres de compilation).
- Dans la section Autres indicateurs d'association, ajoutez
-ObjC
. Si ces paramètres ne sont pas visibles, remplacez le filtre Basic par All dans la barre Build Settings.
Étape 3: Ajoutez la clé API à votre application
Dans les exemples suivants, remplacez YOUR_API_KEY
par votre clé API.
Swift
Ajoutez votre clé API à votre fichier AppDelegate.swift
comme suit :
- Ajoutez l'instruction d'importation suivante :
import GooglePlaces
- Ajoutez le code suivant à la méthode
application(_:didFinishLaunchingWithOptions:)
, en remplaçant YOUR_API_KEY par votre clé API :GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
Ajoutez votre clé API à votre fichier AppDelegate.m
comme suit :
- Ajoutez l'instruction d'importation suivante :
@import GooglePlaces;
- Ajoutez le code suivant à la méthode
application:didFinishLaunchingWithOptions:
, en remplaçant YOUR_API_KEY par votre clé API :[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Étape 4: Commencez à écrire le code
Les exemples de code suivants montrent comment obtenir le lieu actuel.
Swift
import GooglePlaces import UIKit class GetStartedViewController : UIViewController { // Add a pair of UILabels in Interface Builder, and connect the outlets to these variables. @IBOutlet private var nameLabel: UILabel! @IBOutlet private var addressLabel: UILabel! private var placesClient: GMSPlacesClient! override func viewDidLoad() { super.viewDidLoad() placesClient = GMSPlacesClient.shared() } // Add a UIButton in Interface Builder, and connect the action to this function. @IBAction func getCurrentPlace(_ sender: UIButton) { let placeFields: GMSPlaceField = [.name, .formattedAddress] placesClient.findPlaceLikelihoodsFromCurrentLocation(withPlaceFields: placeFields) { [weak self] (placeLikelihoods, error) in guard let strongSelf = self else { return } guard error == nil else { print("Current place error: \(error?.localizedDescription ?? "")") return } guard let place = placeLikelihoods?.first?.place else { strongSelf.nameLabel.text = "No current place" strongSelf.addressLabel.text = "" return } strongSelf.nameLabel.text = place.name strongSelf.addressLabel.text = place.formattedAddress } } }
Objective-C
#import "GetStartedViewController.h" @import GooglePlaces; @interface GetStartedViewController () // Add a pair of UILabels in Interface Builder and connect the outlets to these variables @property (weak, nonatomic) IBOutlet UILabel *nameLabel; @property (weak, nonatomic) IBOutlet UILabel *addressLabel; @end @implementation GetStartedViewController { GMSPlacesClient *_placesClient; } - (void)viewDidLoad { [super viewDidLoad]; _placesClient = [GMSPlacesClient sharedClient]; } // Add a pair of UILabels in Interface Builder and connect the outlets to these variables. - (IBAction)getCurrentPlace:(UIButton *)sender { GMSPlaceField placeFields = (GMSPlaceFieldName | GMSPlaceFieldFormattedAddress); __weak typeof(self) weakSelf = self; [_placesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:placeFields callback:^(NSArray<GMSPlaceLikelihood *> * _Nullable likelihoods, NSError * _Nullable error) { __typeof__(self) strongSelf = weakSelf; if (strongSelf == nil) { return; } if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } GMSPlace *place = likelihoods.firstObject.place; if (place == nil) { strongSelf.nameLabel.text = @"No current place"; strongSelf.addressLabel.text = @""; return; } strongSelf.nameLabel.text = place.name; strongSelf.addressLabel.text = place.formattedAddress; }]; } @end
Étapes suivantes
Une fois votre projet configuré, vous pouvez explorer les applications exemples. Vous devez installer CocoaPods 1.6.1.