Configurare un progetto Xcode

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:

  1. Apri il file Xcode project o workspace, quindi seleziona File > Aggiungi dipendenze pacchetto.
  2. Inserisci https://github.com/googlemaps/ios-navigation-sdk come URL e premi Invio per estrarre il pacchetto e fai clic su "Aggiungi pacchetto".
  3. 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".
  4. Nella finestra Scegli i prodotti del pacchetto, verifica che verrà aggiunto GoogleNavigation il target main designato. Al termine, fai clic su "Aggiungi pacchetto".
  5. 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:

  1. Se esegui l'upgrade da una versione precedente alla 9.0.0, devi rimuovere le dipendenze seguenti: GoogleMapsBase, GoogleMapsCore e GoogleMapsM4B dopo l'upgrade. Non rimuovere la dipendenza per GoogleMaps. 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)
  2. Da Xcode, vai su "File > Pacchetti > Aggiorna alle ultime versioni del pacchetto".
  3. Per verificare l'installazione, vai alla sezione Dipendenze pacchetto di Project Navigator per verificare il pacchetto e la sua versione.
di Gemini Advanced.

Per rimuovere le dipendenze esistenti dell'SDK di navigazione aggiunte utilizzando CocoaPods, segui questi passaggi:

  1. 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
  2. Rimuovi Podfile, Podfile.resolved e Esegui l'Xcode workspace se non lo utilizzi per scopi diversi da CocoaPods.

Per rimuovere l'SDK di navigazione esistente per iOS installato manualmente: segui questi passaggi:
  1. 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
  2. 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:

  1. Se non hai ancora un progetto Xcode, creane uno ora e salvalo della macchina locale. Se non hai familiarità con lo sviluppo di iOS:
    1. Creare un nuovo progetto.
    2. Seleziona iOS > App.
    3. Nella schermata delle opzioni del progetto:
      1. Inserisci il Nome progetto.
      2. Registra il valore del campo Identificatore bundle. Puoi utilizzare questo valore per limitare la chiave API di seguito.
      3. Imposta il progetto Interface su Storyboard.
      4. Imposta il campo Lingua su Swift o Objective-C.
  2. Crea un file denominato Podfile nella directory del tuo progetto. Questo definisce le dipendenze del progetto.
  3. 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 #
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleNavigation', '9.1.0'
    end
            
    Assicurati di eseguire regolarmente pod outdated per rilevare e versioni successive. Se necessario, esegui l'upgrade all'ultima versione.
  4. Salva Podfile.
  5. Apri un terminale e vai alla directory contenente Podfile:

    cd <path-to-project>
  6. Esegui il comando pod install. Questa operazione installa API specificate in Podfile, insieme a eventuali dipendenze.

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

  1. Apri un terminale e vai alla directory del progetto contenente l'Podfile.
  2. Esegui il comando pod update. Questa operazione aggiorna tutte le API specificato in Podfile 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:

  1. Scarica i seguenti file binari dell'SDK e file di risorse:
  2. 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.
  3. Rimuovi tutti i riferimenti a Maps, Navigazione e Luoghi esistenti dal progetto.
  4. 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
  5. 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.
  6. 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.
  7. Seleziona il tuo progetto dal navigatore dei progetti e scegli target dell'applicazione.
  8. 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
  9. 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
  10. 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.
  11. 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."

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:

  1. Aggiungi le seguenti istruzioni di importazione:
    import GoogleMaps
    import GoogleNavigation
  2. Aggiungi quanto segue al tuo application(_:didFinishLaunchingWithOptions:) :
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective-C

Aggiungi la chiave API a AppDelegate.m nel seguente modo:

  1. Aggiungi le seguenti istruzioni di importazione:
    @import GoogleMaps;
    @import GoogleNavigation;
  2. 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: