Configurer un projet Xcode

Lorsque vous aurez activé la facturation et créé une clé API, vous pourrez configurer le projet Xcode qui vous servira à développer votre application.

Des notes de version sont disponibles pour chaque version.

Étape 1 : Installez le logiciel requis

Pour créer un projet à l'aide du SDK Maps pour iOS, vous devez télécharger et installer les éléments suivants :

  • Xcode version 26.0 ou ultérieure

Étape 2 : Créez le projet Xcode et installez le SDK Maps pour iOS

La taille d'installation du SDK peut varier. Par exemple, la taille d'installation du SDK Maps pour iOS version 9.0 est d'environ 18 Mo.

Swift Package Manager

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 :

  1. Ouvrez votre project ou workspace Xcode, puis accédez à File > Add Package Dependencies (Fichier > Ajouter des dépendances de package).
  2. Saisissez https://github.com/googlemaps/ios-maps-sdk comme URL, appuyez sur Entrée pour extraire le package, puis cliquez sur "Add Package" (Ajouter un package).
  3. Pour installer un version spécifique, définissez le champ Dependency Rule 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 « Exact Version » (Version exacte). Une fois l'opération terminée, cliquez sur "Add Package" (Ajouter un package).

Pour mettre à jour le package d'un projet existant, procédez comme suit :

  1. Si vous effectuez une mise à niveau à partir d'une version antérieure à la version 9.0.0 , vous devez supprimer les dépendances suivantes : GoogleMapsBase, GoogleMapsCore et GoogleMapsM4B après la mise à niveau. Ne supprimez pas la dépendance pour GoogleMaps. Pour en savoir plus, consultez les notes de version de la version 9.0.0.

    Dans les paramètres de configuration de votre projet Xcode, recherchez Frameworks, Libraries, and Embedded Content (Frameworks, bibliothèques et contenu intégré). Utilisez le signe moins(-) pour supprimer le framework suivant :

    • GoogleMapsBase (uniquement pour les mises à niveau à partir de versions antérieures à la version 9.0.0)
    • GoogleMapsCore (uniquement pour les mises à niveau à partir de versions antérieures à la version 9.0.0)
    • GoogleMapsM4B (uniquement pour les mises à niveau à partir de versions antérieures à la version 9.0.0)
  2. Dans Xcode, accédez à "File > Packages > Update To Latest Package Versions" (Fichier > Packages > Mettre à jour vers les dernières versions de package).
  3. Pour vérifier votre installation, accédez à la section Package Dependencies (Dépendances de package) de Project Navigator (Navigateur de projet) 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 :

  1. 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
  2. Supprimez le Podfile, le Podfile.resolved et l' espace de travail workspace Xcode si vous ne les utilisez pas pour autre chose que CocoaPods.
Pour supprimer le SDK Maps pour iOS existant installé manuellement, procédez comme suit :
  1. Dans les paramètres de configuration de votre projet Xcode, recherchez Frameworks, Libraries, and Embedded Content (Frameworks, bibliothèques et contenu intégré). Utilisez le signe moins(-) pour supprimer le framework suivant :
    • GoogleMaps
    • GoogleMapsBase (uniquement pour les installations antérieures à la version 9.2.0)
    • GoogleMapsCore (uniquement pour les installations antérieures à la version 9.2.0)
    • GoogleMapsM4B (uniquement pour les installations antérieures à la version 9.0.0)
  2. Dans le répertoire de premier niveau de votre projet Xcode, supprimez le GoogleMaps bundle.

Installation manuelle

Ce guide décrit comment ajouter manuellement les XCFrameworks contenant le SDK Maps pour iOS à votre projet et configurer les paramètres de votre build dans Xcode. Un XCFramework est un package binaire que vous pouvez utiliser sur plusieurs plates-formes, y compris les machines utilisant Apple Silicon.

  1. Téléchargez les fichiers binaires et les fichiers de ressources suivants du SDK :
  2. Extrayez les fichiers pour accéder aux XCFrameworks et aux ressources.
  3. Si vous n'avez pas encore de projet Xcode, créez-en un et enregistrez-le sur votre machine locale. Si vous débutez avec le développement iOS :
    1. Créez un projet.
    2. Sélectionnez le modèle iOS > App (iOS > Application).
    3. Dans l'écran des options du projet :
      1. Saisissez le nom du projet.
      2. Notez la valeur du champ Bundle identifier (identifiant du bundle). Vous pouvez utiliser cette valeur pour limiter votre clé API ci-dessous.
      3. Définissez l'interface du projet sur Storyboard.
      4. Définissez le langage sur Swift ou Objective-C.
  4. Ouvrez l'onglet General (Général). Faites glisser les XCFrameworks suivants dans votre projet sous Frameworks, Libraries, and Embedded Content (Frameworks, bibliothèques et contenu intégré). Veillez à sélectionner Do Not Embed :
    • GoogleMaps.xcframework
  5. Copiez le GoogleMaps.bundle à partir de GoogleMapsResources que vous avez téléchargé dans le répertoire de premier niveau de votre projet Xcode. Lorsque vous y êtes invité, veillez à sélectionner Copy items into destination group's folder (Copier les éléments dans le dossier du groupe de destination).
  6. Sélectionnez votre projet dans Project Navigator, puis choisissez la cible de votre application.
  7. Ouvrez l'onglet Build Phases (Phases de build) pour 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
    • MetricKit.framework
    • OpenGLES.framework (uniquement si vous utilisez OpenGL)
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. Choisissez votre projet plutôt qu'une cible spécifique, et ouvrez l' onglet Build Settings (Paramètres de build). Dans la section Linking - General -> Other Linker Flags (Liaison - Général - > Autres indicateurs Linker), ajoutez -ObjC à "Debug" et "Release". Si ces paramètres ne sont pas visibles, modifiez le filtre dans la barre Build Settings (Paramètres de build) de Basic (De base) à All (Tous).

  9. Pour installer le XCFramework du SDK Places pour iOS, consultez Premiers pas avec le SDK Places pour iOS.

CocoaPods

Le SDK Maps pour iOS est disponible en tant que CocoaPods pod. 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 :

  1. Si vous n'avez pas encore de projet Xcode, créez-en un et enregistrez-le sur votre machine locale. Si vous débutez avec le développement iOS :
    1. Créez un projet.
    2. Sélectionnez le modèle iOS > App (iOS > Application).
    3. Dans l'écran des options du projet :
      1. Saisissez le nom du projet.
      2. Notez la valeur du champ Bundle identifier (identifiant du bundle). Vous pouvez utiliser cette valeur pour limiter votre clé API ci-dessous.
      3. Définissez l'interface du projet sur Storyboard.
      4. Définissez le langage sur Swift ou Objective-C.
  2. Créez un fichier nommé Podfile dans le répertoire de votre projet. Ce fichier définit les dépendances de votre projet.
  3. Modifiez le 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, '16.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '10.13.0'
    end
    Exécutez régulièrement pod 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.
  4. Enregistrez le Podfile.
  5. Ouvrez un terminal et accédez au répertoire contenant le Podfile :

    cd <path-to-project>
  6. Exécutez la commande pod install. Cela installera les API spécifiées dans le Podfile, ainsi que toutes les éventuelles dépendances.

    pod install
  7. 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 :

  1. Ouvrez un terminal et accédez au répertoire du projet contenant le Podfile.
  2. Exécutez la commande pod update. Cette opération met à jour toutes les API spécifiées dans le Podfile vers la dernière version.

É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.

Swift

Ajoutez votre clé API à votre fichier AppDelegate.swift comme suit :

  1. Ajoutez la déclaration d'importation suivante :
    import GoogleMaps
  2. Ajoutez les éléments suivants à votre application(_:didFinishLaunchingWithOptions:) méthode, en utilisant votre clé API :
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. 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 :

  1. Ajoutez la déclaration d'importation suivante :
    @import GoogleMaps;
  2. Ajoutez les éléments suivants à votre application:didFinishLaunchingWithOptions: méthode, en utilisant votre clé API :
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Si vous utilisez également l'API Places, ajoutez à nouveau votre clé comme indiqué ci-dessous :
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Étape 4 (facultative) : Inspectez le fichier de manifeste de confidentialité Apple

Apple exige des informations sur la confidentialité des applications dans l'App Store. Consultez la page Informations sur la confidentialité des applications dans l'App Store d'Apple pour obtenir des mises à jour et en savoir plus.

Le fichier manifeste de confidentialité Apple est inclus dans le bundle de ressources du SDK. Pour vérifier que le fichier de manifeste de confidentialité a été inclus et pour inspecter son contenu, créez une archive de votre application et générez un rapport de confidentialité à partir de l'archive.

Étape 5 (facultative) : Déclarez les schémas d'URL utilisés par l'API

À partir d'iOS 9 et de 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 sur 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 fichier Info.plist :

 <key>LSApplicationQueriesSchemes</key>
 <array>
        <string>googlechromes</string>
        <string>comgooglemaps</string>
    </array>

La capture d'écran ci-dessous montre la configuration dans l'interface utilisateur Xcode :

Configuration `LSApplicationQueriesSchemes` dans 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: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
  • -canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"

Pour éliminer ces erreurs, ajoutez la déclaration à votre fichier Info.plist.

Étape suivante

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 propose de nombreux tutoriels et exemples d'applications pour vous aider à démarrer. Pour en savoir plus, consultez les pages suivantes :