Une fois la facturation activée et la clé API créée, vous pouvez configurer le projet Xcode que vous utilisez pour développer votre application.
Des notes de version sont disponibles pour chaque version.
Étape 1 : Installez le logiciel requis
Pour créer un projet avec le SDK Maps pour iOS, vous devez télécharger et installer les éléments suivants:
- Xcode version 15.0 ou ultérieure
Étape 2: Créez le projet Xcode et installez le SDK Maps pour iOS
Gestionnaire de paquets Swift
Le SDK Maps pour iOS peut être installé via Swift Package Manager. Pour ajouter le SDK, assurez-vous d'avoir supprimé toutes les dépendances existantes du SDK Maps pour iOS.
Pour ajouter le SDK à un projet nouveau ou existant, procédez comme suit:
-
Ouvrez votre fichier Xcode
project
ouworkspace
, puis accédez à File > Add Package Dependencies (Fichier > Ajouter des dépendances de packages). - Saisissez https://github.com/googlemaps/ios-maps-sdk comme URL, appuyez sur Entrée pour récupérer le package, puis cliquez sur "Add Package" (Ajouter un paquet).
-
Pour installer un
version
spécifique, définissez le champ Règle de dépendance sur l'une des options basées sur la version. Pour les nouveaux projets, nous vous recommandons de spécifier la dernière version et d'utiliser l'option "Version exacte". Une fois l'opération terminée, cliquez sur "Ajouter un package". -
Dans la fenêtre Sélectionner des produits de package, vérifiez que
GoogleMaps
,GoogleMapsBase
etGoogleMapsCore
sont ajoutés à la ciblemain
que vous avez désignée. Une fois l'opération terminée, cliquez sur "Ajouter un package". -
Pour vérifier votre installation, accédez au volet
General
de votre cible. Dans Cadres, bibliothèques et contenu intégré, vous devriez voir les packages installés. Vous pouvez également consulter la section "Package Dependencies" (Dépendances de packages) de "Project Navigator" (Navigateur de projets) pour vérifier le package et sa version.
Pour mettre à jour le package
d'un projet existant, procédez comme suit:
- Dans Xcode, accédez à Fichier > Packages > Mettre à jour vers les dernières versions du package.
- Pour vérifier votre installation, accédez à la section Package Dependencies (Dépendances de packages) de Project Navigator afin de vérifier le package et sa version.
Pour supprimer les dépendances existantes du SDK Maps pour iOS ajoutées à l'aide de CocoaPods
, procédez comme suit:
- Fermez votre espace de travail Xcode. Ouvrez le terminal et exécutez la commande suivante :
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
Supprimez
Podfile
,Podfile.resolved
et Xcodeworkspace
si vous ne les utilisez que pour CocoaPods.
-
Dans les paramètres de configuration de votre projet Xcode, recherchez Frameworks, bibliothèques et contenu intégré. Utilisez le signe moins(-) pour supprimer le framework suivant :
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
-
Dans le répertoire racine de votre projet Xcode, supprimez le bundle
GoogleMaps
.
CocoaPods
Le SDK Maps pour iOS est disponible en tant que pod CocoaPods. CocoaPods est un gestionnaire de dépendances Open Source pour les projets Cocoa Swift et Objective-C.
Si vous ne possédez pas encore l'outil CocoaPods, installez-le sur macOS en exécutant la commande ci-dessous à partir du terminal. Pour plus de détails, consultez le guide de démarrage de CocoaPods.
sudo gem install cocoapods
Créez un Podfile
pour le SDK Maps pour iOS, et utilisez-le pour installer l'API et ses dépendances :
- Si vous n'avez pas encore de projet Xcode, créez-en un maintenant et enregistrez-le sur votre ordinateur local. Si vous débutez dans le développement pour iOS :
- Créez un projet.
- Sélectionnez le modèle iOS > Application.
- Sur l'écran des options du projet :
- Renseignez le champ Nom du projet.
- Notez la valeur du champ Bundle Identifier (Identifiant de groupe). Vous pouvez utiliser cette valeur pour restreindre votre clé API ci-dessous.
- Définissez l'interface du projet sur Storyboard.
- Définissez la langue sur Swift ou Objective-C.
- 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 ainsi que leurs versions. Voici un exemple qui inclut la dépendance dont vous avez besoin pour le SDK Maps pour iOS :source 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '8.4.0' end
Veillez à exécuter régulièrementpod outdated
pour détecter les nouvelles versions et vous assurer que vous utilisez toujours la dernière version. Si nécessaire, passez à la dernière version. - Enregistrez le
Podfile
. Ouvrez un terminal et accédez au répertoire contenant le fichier
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 pour un projet existant, procédez comme suit:
- Ouvrez un terminal et accédez au répertoire du projet contenant le fichier
Podfile
. - Exécutez la commande
pod update
. Toutes les API spécifiées dansPodfile
seront mises à jour vers la dernière version.
Installation manuelle
Ce guide explique comment ajouter manuellement à votre projet les XCFrameworks contenant le SDK Maps pour iOS et comment configurer vos paramètres de compilation dans Xcode. Un XCFramework est un package binaire que vous pouvez utiliser sur plusieurs plates-formes, y compris sur les machines utilisant une silicone Apple.- Téléchargez les fichiers binaires et les fichiers de ressources suivants du SDK :
- Extrayez les fichiers pour accéder aux ressources et aux frameworks XCFrameworks.
- Si vous n'avez pas encore de projet Xcode, créez-en un maintenant et enregistrez-le sur votre ordinateur local. Si vous débutez dans le développement pour iOS :
- Créez un projet.
- Sélectionnez le modèle iOS > Application.
- Sur l'écran des options du projet :
- Renseignez le champ Nom du projet.
- Notez la valeur du champ Bundle Identifier (Identifiant de groupe). Vous pouvez utiliser cette valeur pour restreindre votre clé API ci-dessous.
- Définissez l'interface du projet sur Storyboard.
- Définissez la langue sur Swift ou Objective-C.
-
Ouvrez l'onglet Général. Faites glisser les éléments XCFrameworks suivants dans votre projet sous Frameworks, bibliothèques et contenu intégré. Veillez à sélectionner Do Not Embed (Ne pas intégrer) pour chaque XCFramework :
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
-
Copiez le
GoogleMaps.bundle
de GoogleMapsResources que vous avez téléchargé dans le répertoire de premier niveau de votre projet Xcode. Veillez à sélectionner Copier les éléments dans le dossier du groupe de destination lorsque vous y êtes invité. - Sélectionnez votre projet dans Project Navigator, puis choisissez la cible de votre application.
-
Ouvrez l'onglet Build Phases (Phases de compilation) de la cible de votre application.
Dans Link Binary with Libraries (Associer le binaire avec des bibliothèques), ajoutez les frameworks et bibliothèques suivants :
Accelerate.framework
Contacts.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libz.tbd
Metal.framework
OpenGLES.framework
QuartzCore.framework
SystemConfiguration.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 Linking - General -> Other Linker Flags (Association - Général -> Autres indicateurs Linker), ajoutez
-ObjC
à "Debug" (Débogage) et "Release" (Publier). Si ces paramètres ne sont pas visibles, remplacez le filtre Basic (De base) par All (Tous) dans la barre Build Settings (Paramètres de compilation). -
Pour installer le SDK Places pour iOS XCFramework, consultez la section Premiers pas avec le SDK Places pour iOS.
Ajouter un fichier manifeste de confidentialité Apple
Apple exige des informations sur la confidentialité des applis pour les applis de l'App Store. Pour obtenir des mises à jour et plus d'informations, consultez la page d'informations sur la confidentialité sur l'App Store d'Apple.
- Téléchargez le bundle du fichier manifeste de confidentialité pour le SDK Maps pour iOS: GoogleMapsPrivacy.
- Extrayez le fichier pour accéder à
GoogleMapsPrivacy.bundle
. - Ajoutez
GoogleMapsPrivacy.bundle
au navigateur de projet Xcode à l'aide de l'une de ces méthodes. Assurez-vous que la case "Ajouter aux cibles" est cochée pour la cible de votre application. Une fois ajouté, le fichier PrivacyInfo s'affiche dans le navigateur de projets, et vous pouvez inspecter ses valeurs. - Vérifiez que le fichier manifeste de confidentialité a été ajouté en créant une archive de votre application et en générant un rapport de confidentialité à partir de cette archive.
Étape 3 : Ajoutez votre clé API au projet
Dans Obtenir une clé API, vous avez généré une clé API pour votre application. Ajoutez-la maintenant à votre projet Xcode.
Dans les exemples suivants, remplacez YOUR_API_KEY
par votre clé API.
"Dépôt Maven de Google".
Swift
Ajoutez votre clé API à votre fichier AppDelegate.swift
comme suit :
- Ajoutez l'instruction d'importation suivante :
import GoogleMaps
- Ajoutez les éléments suivants à la méthode
application(_:didFinishLaunchingWithOptions:)
à l'aide de votre clé API :GMSServices.provideAPIKey("YOUR_API_KEY")
- Si vous utilisez également l'API Places, ajoutez à nouveau votre clé comme indiqué ci-dessous :
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
Ajoutez votre clé API à votre fichier AppDelegate.m
comme suit :
- Ajoutez l'instruction d'importation suivante :
@import GoogleMaps;
- Ajoutez les éléments suivants à la méthode
application:didFinishLaunchingWithOptions:
à l'aide de votre clé API :[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- Si vous utilisez également l'API Places, ajoutez à nouveau votre clé comme indiqué ci-dessous :
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Étape 4: Ajoutez une carte
Swift
/* * Copyright 2020 Google Inc. All rights reserved. * * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ import UIKit import GoogleMaps class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) options.frame = self.view.bounds let mapView = GMSMapView(options: options) self.view.addSubview(mapView) // Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView } }
Objective-C
/* * Copyright 2020 Google Inc. All rights reserved. * * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ #import "ViewController.h" #import <GoogleMaps/GoogleMaps.h> @interface ViewController() @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; [self.view addSubview:mapView]; // Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView; } @end
Étape 5 (facultative): Déclarer les schémas d'URL utilisés par l'API
À partir d'iOS 9 et Xcode 7, les applications peuvent déclarer les schémas d'URL qu'elles ont l'intention d'ouvrir en les spécifiant dans le fichier Info.plist
de l'application. Le SDK Maps pour iOS ouvre l'application mobile Google Maps lorsque l'utilisateur clique sur le logo Google de la carte. Votre application peut donc déclarer les schémas d'URL pertinents.
Pour déclarer les schémas d'URL utilisés par le SDK Maps pour iOS, ajoutez les lignes suivantes à votre Info.plist
:
La capture d'écran ci-dessous montre la configuration dans l'interface utilisateur Xcode :
Sans la déclaration ci-dessus, les erreurs suivantes peuvent se produire lorsque l'utilisateur appuie sur le logo Google sur la carte:
-canOpenURL: échec pour l'URL: "comgooglemaps://" - erreur: "Cette application n'est pas autorisée à effectuer des requêtes pour le schéma comgooglemaps" -canOpenURL: échec pour l'URL: googlechromes://" - erreur: "Cette application n'est pas autorisée à interroger le schéma googlechromes"
Pour éliminer ces erreurs, ajoutez la déclaration à votre Info.plist
.
Étapes suivantes
Maintenant que vous disposez d'une clé API et d'un projet Xcode, vous pouvez créer et exécuter des applications. Le SDK Navigation pour iOS fournit de nombreux tutoriels et applications exemples pour vous aider à démarrer. Pour en savoir plus, consultez les pages suivantes :