Dopo aver abilitato la fatturazione e creato una chiave API, puoi configurare Xcode progetto che usi per sviluppare la tua app.
Le note di rilascio sono disponibili per ogni .
Passaggio 1: installa il software richiesto
Per creare un progetto utilizzando l'SDK di navigazione per iOS, devi scaricare e installare:
- Xcode Versione 15.0 o successive
Passaggio 2: crea il progetto Xcode e installa l'SDK di navigazione
Gestore pacchetti Swift
L'SDK di navigazione può essere installato tramite Gestore pacchetti Swift. Per aggiungere l'SDK, assicurati di avere rimosso eventuali dipendenze esistenti dell'SDK di navigazione.
Per aggiungere l'SDK a un progetto nuovo o esistente:
-
Apri il file Xcode
project
oworkspace
, quindi seleziona File > Aggiungi dipendenze pacchetto. - Inserisci https://github.com/googlemaps/ios-navigation-sdk come URL e premi Invio per estrarre il pacchetto e fai clic su "Aggiungi pacchetto".
-
Per installare un'entità
version
specifica, imposta il campo Regola di dipendenza su uno dei le opzioni basate sulla versione. Per i nuovi progetti, ti consigliamo di specificare la versione più recente con la "versione esatta" . Al termine, fai clic su "Aggiungi pacchetto". -
Nella finestra Scegli i prodotti del pacchetto, verifica che verrà aggiunto
GoogleNavigation
il targetmain
designato. Al termine, fai clic su "Aggiungi pacchetto". -
Per verificare l'installazione, vai al riquadro
General
di destinazione. In Framework, librerie e contenuti incorporati dovresti vedere i pacchetti installati. Puoi anche visualizzare le "Dipendenze pacchetto" sezione di "Project Navigator" per verificare il pacchetto e la sua versione.
Per aggiornare package
per un progetto esistente:
Se esegui l'upgrade da una versione precedente alla 9.0.0, devi rimuovere le dipendenze seguenti:
GoogleMapsBase
,GoogleMapsCore
eGoogleMapsM4B
dopo l'upgrade. Non rimuovere la dipendenza perGoogleMaps
. Per ulteriori informazioni, consulta Note di rilascio della versione 9.0.0.Dalle impostazioni di configurazione del progetto Xcode, individua Framework, Libraries, e Contenuti incorporati. Utilizza il segno meno(-) per rimuovere il seguente framework:
GoogleMapsBase
(solo per gli upgrade da versioni precedenti alla 9.0.0)GoogleMapsCore
(solo per gli upgrade da versioni precedenti alla 9.0.0)GoogleMapsM4B
(solo per gli upgrade da versioni precedenti alla 9.0.0)
- Da Xcode, vai su "File > Pacchetti > Aggiorna alle ultime versioni del pacchetto".
- Per verificare l'installazione, vai alla sezione Dipendenze pacchetto di Project Navigator per verificare il pacchetto e la sua versione.
Per rimuovere le dipendenze esistenti dell'SDK di navigazione aggiunte utilizzando
CocoaPods
, segui questi passaggi:
- Chiudi l'area di lavoro Xcode. Apri il terminale ed esegui questo comando:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
Rimuovi
Podfile
,Podfile.resolved
e Esegui l'Xcodeworkspace
se non lo utilizzi per scopi diversi da CocoaPods.
-
Dalle impostazioni di configurazione del progetto Xcode, individua Framework, Libraries,
e Contenuti incorporati. Utilizza il segno meno(-) per rimuovere il seguente framework:
- .
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
-
Dalla directory di primo livello del tuo progetto Xcode, rimuovi
GoogleMaps
gruppo.
CocoaPods
L'SDK di navigazione per iOS è disponibile come CocoaPods. CocoaPods è un gestore delle dipendenze open source per Swift e Objective-C progetti di cacao.
Se non hai ancora lo strumento CocoaPods, installalo su macOS eseguendo questo comando dal terminale. Per maggiori dettagli, consulta CocoaPods Guida introduttiva.
sudo gem install cocoapods
Crea un Podfile
per l'SDK di navigazione per iOS e utilizzalo
installare l'API e le sue dipendenze:
- Se non hai ancora un progetto Xcode, creane uno ora e salvalo
della macchina locale. Se non hai familiarità con lo sviluppo di iOS:
- Creare un nuovo progetto.
- Seleziona iOS > App.
- Nella schermata delle opzioni del progetto:
- Inserisci il Nome progetto.
- Registra il valore del campo Identificatore bundle. Puoi utilizzare questo valore per limitare la chiave API di seguito.
- Imposta il progetto Interface su Storyboard.
- Imposta il campo Lingua su Swift o Objective-C.
- Crea un file denominato
Podfile
nella directory del tuo progetto. Questo definisce le dipendenze del progetto. - Modifica
Podfile
e aggiungi le dipendenze insieme alle relative versioni. Ecco un esempio che include la dipendenza necessaria per SDK di navigazione per iOS: # Riferimento per l'installazione di Cocoapod # Assicurati di eseguire regolarmentesource 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleNavigation', '9.1.0' end
pod outdated
per rilevare e versioni successive. Se necessario, esegui l'upgrade all'ultima versione. - Salva
Podfile
. Apri un terminale e vai alla directory contenente
Podfile
:cd <path-to-project>
Esegui il comando
pod install
. Questa operazione installa API specificate inPodfile
, insieme a eventuali dipendenze.pod install
Chiudi Xcode, quindi apri (doppio clic) la sezione
.xcworkspace
per avviare Xcode. Da questo momento in poi, devi usare il file.xcworkspace
per aprire il progetto.
Per aggiornare l'API per un progetto esistente:
- Apri un terminale e vai alla directory del progetto contenente l'
Podfile
. - Esegui il comando
pod update
. Questa operazione aggiorna tutte le API specificato inPodfile
alla versione più recente.
Installazione manuale
Questa guida mostra come aggiungere manualmente gli XCFrameworks contenenti i l'SDK di navigazione per iOS e l'SDK Maps per iOS al tuo progetto e configura le impostazioni di build in Xcode. Un XCFramework è un pacchetto binario utilizzabile su più piattaforme, incluse le macchine che utilizzano il chipset M1.
Segui questi passaggi per installare XCFrameworks per l'SDK di navigazione per iOS, e Maps SDK for iOS:
- Scarica i seguenti file binari dell'SDK e file di risorse:
- Avvia Xcode e apri un progetto esistente o creane uno nuovo progetto. Se è la prima volta che utilizzi iOS, crea un nuovo progetto e seleziona Modello di app per iOS.
- Rimuovi tutti i riferimenti a Maps, Navigazione e Luoghi esistenti dal progetto.
- Trascina i seguenti XCFrameworks nel tuo progetto in
Framework, librerie e contenuti incorporati per installare Maps
e gli SDK di navigazione (quando richiesto, seleziona Copia elementi se necessario):
- .
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
- Trascina
GoogleMaps.bundle
dalle GoogleMapsResources scaricate nella directory di primo livello del tuo progetto Xcode. Quando richiesto, assicurati che l'opzione Copia elementi se necessario sia selezionata. - Trascina
GoogleNavigation.bundle
da GoogleNavigationResources scaricato nella directory di primo livello del tuo progetto Xcode. Quando richiesto, assicurati L'opzione Copia elementi nella cartella del gruppo di destinazione è selezionata. - Seleziona il tuo progetto dal navigatore dei progetti e scegli target dell'applicazione.
- Apri la scheda Fasi di creazione e in
Collega il file binario alle librerie, aggiungi i seguenti framework e librerie:
- .
Accelerate.framework
AudioToolbox.framework
AVFoundation.framework
Contacts.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libxml2.tbd
libz.tbd
Metal.framework
OpenGLES.framework
QuartzCore.framework
Security.framework
SystemConfiguration.framework
UIKit.framework
UserNotifications.framework
WebKit.framework
- Nel target dell'applicazione, seleziona la scheda Funzionalità,
Attiva Modalità background e attiva le seguenti modalità:
- .
- Audio, AirPlay e Picture in picture
- Aggiornamenti sulla posizione
- Scegli il tuo progetto, anziché un target specifico, e apri lo strumento Crea
Impostazioni. Nella sezione Altri flag linker,
aggiungi
‑ObjC
sia per debug sia per release. Se queste impostazioni non sono visibili, modifica il filtro nella Barra delle Impostazioni build da Di base a Tutte. - Apri
Info.plist
e aggiungi le seguenti coppie chiave-valore:- Chiave:
NSLocationWhenInUseUsageDescription
(Privacy - Descrizione utilizzo posizione quando in uso)
Valore: "Questa app richiede l'autorizzazione per utilizzare la tua posizione per la navigazione passo passo." - Chiave:
NSLocationAlwaysAndWhenInUseUsageDescription
(Privacy - Descrizione utilizzo posizione sempre e quando in uso)
Valore: "Questa app richiede l'autorizzazione per utilizzare la tua posizione per la navigazione passo passo."
- Chiave:
Passaggio 3: esamina il file manifest della privacy di Apple
Apple richiede informazioni sulla privacy per le app disponibili sull'App Store. Visita la pagina dei dettagli sulla privacy dell'App Store di Apple per aggiornamenti e ulteriori informazioni.
Il file manifest della privacy di Apple è incluso nel bundle di risorse per l'SDK. Per verificare che il file manifest per la privacy sia stato incluso e per controllarne i contenuti, crea un archivio della tua app e genera una segnalazione sulla privacy dall'archivio.
Passaggio 4: aggiungi la chiave API al progetto
I seguenti esempi mostrano come aggiungere la chiave API al tuo progetto in Xcode:
Swift
Aggiungi la chiave API a AppDelegate.swift
nel seguente modo:
- Aggiungi le seguenti istruzioni di importazione:
import GoogleMaps import GoogleNavigation
- Aggiungi quanto segue al tuo
application(_:didFinishLaunchingWithOptions:)
:GMSServices.provideAPIKey("YOUR_API_KEY")
Objective-C
Aggiungi la chiave API a AppDelegate.m
nel seguente modo:
- Aggiungi le seguenti istruzioni di importazione:
@import GoogleMaps; @import GoogleNavigation;
- Aggiungi quanto segue al tuo
application:didFinishLaunchingWithOptions:
:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
Passaggio 5: aggiungi una mappa
Questo codice mostra come aggiungere una mappa semplice a un elemento ViewController
esistente,
incluse alcune impostazioni iniziali per la navigazione.
Prima che la navigazione possa essere abilitata, l'utente deve accettare i termini e
le condizioni di traffico. Per chiedere all'utente, chiama
GMSNavigationServices.showTermsAndConditionsDialogIfNeeded()
, poi controlla per
per vedere se i termini sono stati accettati. Se l'utente rifiuta i termini,
mapView.isNavigationEnabled = true
non ha alcun effetto e mapView.navigator
è
zero.
Swift
import UIKit import GoogleNavigation class ViewController: UIViewController { var mapView: GMSMapView! var locationManager: CLLocationManager! override func loadView() { locationManager = CLLocationManager() locationManager.requestAlwaysAuthorization() let options = GMSMapViewOptions() options.camera = camera options.frame = .zero mapView = GMSMapView(options: options) // Show the terms and conditions. let termsAndConditionsOptions = GMSNavigationTermsAndConditionsOptions(companyName: "Ride Share Co.") GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(with: termsAndConditionsOptions) { termsAccepted in if termsAccepted { // Enable navigation if the user accepts the terms. self.mapView.isNavigationEnabled = true } else { // Handle the case when the user rejects the terms and conditions. } } view = mapView } // TODO: Add navigation code. }
Objective-C
#import "ViewController.h" @import GoogleNavigation; @interface ViewController () @end @implementation ViewController GMSMapView *_mapView; CLLocationManager *_locationManager; - (void)loadView { _locationManager = [[CLLocationManager alloc] init]; [_locationManager requestAlwaysAuthorization]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.67 longitude:-122.20 zoom:14]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.frame = CGRectZero; options.camera = camera; options.mapID = mapID; _mapView = [[GMSMapView alloc] initWithOptions:options]; // Show the terms and conditions. GMSNavigationTermsAndConditionsOptions *termsAndConditionsOptions = [[GMSNavigationTermsAndConditionsOptions alloc] initWithCompanyName:@"Ride Sharing Co."]; [GMSNavigationServices showTermsAndConditionsDialogIfNeededWithOptions:termsAndConditionsOptions callback:^(BOOL termsAccepted) { if (termsAccepted) { // Enable navigation if the user accepts the terms. _mapView.navigationEnabled = YES; } else { // Handle the case when the user rejects the terms and conditions. } }]; self.view = _mapView; } // TODO: Add navigation code. @end
Esegui l'applicazione. Dovresti vedere una mappa centrata su Kirkland, Washington.
Se la mappa non è visibile, prova quanto segue:
- Verifica di aver fornito la chiave API corretta.
- Verifica che NavSDK sia abilitato nella console Cloud.
- Se Nav SDK è installato, ma il tuo progetto non utilizza le API Nav SDK, rimuovilo dal tuo file binario.
Se sei un cliente di Servizi di mobilità
Se sei un cliente di Servizi di mobilità, scopri di più sulla fatturazione nella documentazione sulla mobilità. Per ulteriori informazioni sulla registrazione transazioni, vedi Configura la fatturazione. Per scoprire come aggiungere ID transazione all'implementazione dell'SDK di navigazione, consulta Associa l'utilizzo del servizio alle transazioni di mobilità.
Passaggi successivi
Ora che hai una chiave API e un progetto Xcode, puoi creare ed eseguire le app. L'SDK di navigazione per iOS fornisce tutorial che possono aiutarti per iniziare. Per ulteriori dettagli, consulta: