Xcode-Projekt einrichten

Nachdem Sie die Abrechnung aktiviert und einen API-Schlüssel erstellt haben, können Sie die Xcode- Projekt, mit dem Sie Ihre App entwickeln.

Versionshinweise sind für alle Veröffentlichung.

Schritt 1: Erforderliche Software installieren

Um ein Projekt mit dem Navigation SDK für iOS zu erstellen, müssen Sie Folgendes herunterladen und installieren:

  • Xcode Version 15.0 oder höher

Schritt 2: Xcode-Projekt erstellen und Navigation SDK installieren

Swift-Paketmanager

Das Navigation SDK kann über installiert werden. Swift Package Manager Damit du das SDK hinzufügen kannst, alle vorhandenen Navigation SDK-Abhängigkeiten entfernt.

So fügen Sie das SDK einem neuen oder vorhandenen Projekt hinzu:

  1. Öffne deinen Xcode project oder workspace und klicke auf Datei > Paketabhängigkeiten hinzufügen.
  2. Geben Sie https://github.com/googlemaps/ios-navigation-sdk als URL ein und drücken Sie die Eingabetaste. um das Paket zu laden, und klicke auf „Paket hinzufügen“.
  3. Um eine bestimmte version zu installieren, legen Sie das Feld Abhängigkeitsregel auf eine der folgenden Werte fest: zu den versionsbasierten Optionen. Für neue Projekte empfehlen wir, die neueste Version und mit der Spalte „Exakte Version“ Option. Klicke anschließend auf „Paket hinzufügen“.
  4. Prüfe im Fenster Paketprodukte auswählen, ob GoogleNavigation hinzugefügt wird Ihr festgelegtes Ziel für main. Klicke anschließend auf „Paket hinzufügen“.
  5. Um die Installation zu überprüfen, navigiere zum Bereich General deines Ziels. Die installierten Pakete sollten nun unter Frameworks, Bibliotheken und eingebettete Inhalte zu sehen sein. Sie können auch die „Paketabhängigkeiten“ von Projektnavigator um das Paket und seine Version zu überprüfen.

So aktualisieren Sie package für ein vorhandenes Projekt:

  1. Wenn Sie ein Upgrade von einer früheren Version als 9.0.0 durchführen,müssen Sie die folgenden Abhängigkeiten: GoogleMapsBase, GoogleMapsCore und GoogleMapsM4B nach dem Upgrade. Entfernen Sie nicht die Abhängigkeit für GoogleMaps Weitere Informationen finden Sie in der Versionshinweise zu Version 9.0.0

    Gehen Sie in den Konfigurationseinstellungen des Xcode-Projekts zu Frameworks, Libraries, und eingebettete Inhalte. Verwenden Sie das Minuszeichen(-), um das folgende Framework zu entfernen:

    • GoogleMapsBase (nur für Upgrades von Versionen vor 9.0.0)
    • GoogleMapsCore (nur für Upgrades von Versionen vor 9.0.0)
    • GoogleMapsM4B (nur für Upgrades von Versionen vor 9.0.0)
  2. Gehen Sie in Xcode zu „File > Pakete > Auf neueste Paketversionen aktualisieren“.
  3. Um die Installation zu überprüfen, gehen Sie in der Projektnavigation zum Abschnitt Paketabhängigkeiten. um das Paket und seine Version zu überprüfen.
<ph type="x-smartling-placeholder">

Um vorhandene Navigation SDK-Abhängigkeiten zu entfernen, die mithilfe von CocoaPods, gehen Sie so vor:

  1. Schließen Sie den Xcode-Arbeitsbereich. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:
    sudo gem install cocoapods-deintegrate cocoapods-clean 
    pod deintegrate 
    pod cache clean --all
  2. Entfernen Sie Podfile, Podfile.resolved und den Xcode workspace, wenn du sie ausschließlich für CocoaPods verwendest.

So entfernen Sie ein manuell installiertes Navigations-SDK für iOS: führen Sie folgende Schritte aus: <ph type="x-smartling-placeholder">
    </ph>
  1. Gehen Sie in den Konfigurationseinstellungen des Xcode-Projekts zu Frameworks, Libraries, und eingebettete Inhalte. Verwenden Sie das Minuszeichen(-), um das folgende Framework zu entfernen: <ph type="x-smartling-placeholder">
      </ph>
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  2. Entfernen Sie im Verzeichnis der obersten Ebene Ihres Xcode-Projekts das GoogleMaps Set.

CocoaPods

Das Navigation SDK für iOS ist als CocoaPods-Pod CocoaPods ist ein Open-Source-Abhängigkeitsmanager für Cocoa-Projekte in Swift und Objective-C.

Falls du das Tool „CocoaPods“ noch nicht nutzt, installiere es unter macOS, indem du den folgenden Befehl über das Terminal ausführst. Weitere Informationen finden Sie in der CocoaPods Startleitfaden.

sudo gem install cocoapods

Podfile für das Navigation SDK for iOS erstellen und verwenden um die API und ihre Abhängigkeiten zu installieren:

  1. Wenn Sie noch kein Xcode-Projekt haben, erstellen Sie eines und speichern Sie es unter auf Ihrem lokalen Computer. Wenn Sie noch keine Erfahrung mit der iOS-Entwicklung haben: <ph type="x-smartling-placeholder">
      </ph>
    1. Erstellen Sie ein neues Projekt.
    2. Wählen Sie den Tab iOS > App-Vorlage.
    3. Auf dem Bildschirm mit den Projektoptionen: <ph type="x-smartling-placeholder">
        </ph>
      1. Geben Sie den Projektnamen ein.
      2. Notieren Sie den Wert des Felds Bundle Identifier. Mit diesem Wert können Sie Ihren API-Schlüssel unten einschränken.
      3. Setze das Projekt Interface auf Storyboard.
      4. Setzen Sie Language (Sprache) auf Swift oder Objective-C.
  2. Erstelle in deinem Projektverzeichnis eine Datei mit dem Namen Podfile. In dieser Datei sind die Abhängigkeiten des Projekts definiert.
  3. Bearbeiten Sie die Podfile und fügen Sie Ihre Abhängigkeiten zusammen mit ihren Versionen. Hier ist ein Beispiel, das die Abhängigkeit enthält, die Sie für den Navigations-SDK für iOS: # CocoaPods-Installationsreferenznummer
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleNavigation', '9.1.0'
    end
            
    Führen Sie pod outdated regelmäßig aus, um neuere Versionen. Führen Sie bei Bedarf ein Upgrade auf die neueste Version.
  4. Speichere die Podfile.
  5. Öffnen Sie ein Terminal und wechseln Sie zum Verzeichnis mit der Datei Podfile:

    cd <path-to-project>
  6. Führe den Befehl pod install aus. Dadurch wird das Ereignis In der Podfile angegebene APIs, zusammen mit allen Abhängigkeiten.

    pod install
  7. Schließe Xcode und öffne dann mit einem Doppelklick die Datei .xcworkspace deines Projekts, um Xcode wieder zu starten. Ab jetzt musst du das Projekt über die Datei .xcworkspace aufrufen.

So aktualisieren Sie die API für ein vorhandenes Projekt:

  1. Öffnen Sie ein Terminal und rufen Sie das Projektverzeichnis mit der Datei Podfile auf.
  2. Führe den Befehl pod update aus. Dadurch werden alle APIs aktualisiert, in Podfile auf die neueste Version aktualisiert.

Manuelle Installation

In diesem Leitfaden erfahren Sie, wie Sie die XCFrameworks, die die Elemente Navigation SDK for iOS und das Maps SDK for iOS zu Ihrem Projekt hinzufügen und Ihre Build-Einstellungen in Xcode konfigurieren. Ein XCFramework ist ein Binärpaket, das auf mehreren Plattformen verwendet werden kann, einschließlich Maschinen mit dem M1-Chipsatz.

Führen Sie die folgenden Schritte aus, um XCFrameworks für das Navigation SDK for iOS zu installieren, und das Maps SDK for iOS:

  1. Laden Sie die folgenden SDK-Binärdateien und Ressourcendateien herunter: <ph type="x-smartling-placeholder">
  2. Starte Xcode und öffne ein vorhandenes oder erstelle ein neues Projekt. Wenn Sie neu bei iOS sind, erstellen Sie ein neues Projekt und wählen Sie das iOS-App-Vorlage
  3. Entfernen Sie alle vorhandenen Verweise auf Maps, Navigation und Places aus dem Projekt.
  4. Ziehen Sie die folgenden XCFrameworks in Ihr Projekt unter Frameworks, Bibliotheken und eingebettete Inhalte, um sowohl die Karten und Navigations-SDKs. Wählen Sie bei Aufforderung Elemente bei Bedarf kopieren aus: <ph type="x-smartling-placeholder">
      </ph>
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  5. GoogleMaps.bundle aus den heruntergeladenen GoogleMapsResources ziehen in das Verzeichnis der obersten Ebene Ihres Xcode-Projekts. Wenn Sie dazu aufgefordert werden, Achten Sie darauf, dass Elemente bei Bedarf kopieren ausgewählt ist.
  6. Ziehen Sie GoogleNavigation.bundle aus den heruntergeladenen GoogleNavigationResources. in das Verzeichnis der obersten Ebene Ihres Xcode-Projekts. Wenn Sie dazu aufgefordert werden, Die Option Elemente in Ordner der Zielgruppe kopieren ist ausgewählt.
  7. Wählen Sie im Project Navigator Ihr Projekt und dann Anwendungsziel.
  8. Öffnen Sie den Tab Build Phases (Build-Phasen) und Verknüpfung mit Bibliotheken mit Bibliotheken herstellen, fügen Sie die folgenden Frameworks und Bibliotheken hinzu: <ph type="x-smartling-placeholder">
      </ph>
    • 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. Wählen Sie im Ziel Ihrer Anwendung den Tab Funktionen aus. aktivieren Sie Hintergrundmodi und die folgenden Modi: <ph type="x-smartling-placeholder">
      </ph>
    • Audio, AirPlay und Bild im Bild
    • Standortaktualisierungen
  10. Wählen Sie Ihr Projekt anstelle eines bestimmten Ziels aus und öffnen Sie die Schaltfläche Build Einstellungen. Gehen Sie im Bereich Other Linker Flags (Weitere Verknüpfungs-Flags) so vor: Fügen Sie ‑ObjC sowohl für debug als auch für release hinzu. Ist dies nicht der Fall, ändern Sie den Filter in der Build-Einstellungen von Einfach zu Alle.
  11. Öffnen Sie Info.plist und fügen Sie die folgenden Schlüssel/Wert-Paare hinzu: <ph type="x-smartling-placeholder">
      </ph>
    • Schlüssel: NSLocationWhenInUseUsageDescription (Datenschutz – Standort bei Nutzung, Beschreibung)
      Wert: „Diese App benötigt die Berechtigung, Ihren Standort für die detaillierte Routenführung zu verwenden.“
    • Schlüssel: NSLocationAlwaysAndWhenInUseUsageDescription (Datenschutz – Nutzung von Standort immer und bei Nutzung, Beschreibung)
      Wert: „Diese App benötigt die Berechtigung, Ihren Standort für die detaillierte Routenführung zu verwenden.“

Schritt 3: Apple Privacy Manifest-Datei prüfen

Apple verlangt, dass bei Apps im App Store Details zum App-Datenschutz angegeben werden. Aktuelle Informationen und weitere Informationen finden Sie auf der Seite zu Datenschutzdetails im Apple App Store.

Die Apple Privacy Manifest-Datei ist im Ressourcenpaket für das SDK enthalten. Wenn Sie prüfen möchten, ob die Privacy Manifest-Datei enthalten ist, und ihren Inhalt prüfen möchten, erstellen Sie ein Archiv Ihrer App und generieren Sie aus dem Archiv einen Datenschutzbericht.

Schritt 4: API-Schlüssel zum Projekt hinzufügen

Die folgenden Beispiele zeigen, wie Sie den API-Schlüssel Ihrem Projekt in Xcode hinzufügen:

Swift

Füge deinen API-Schlüssel folgendermaßen in AppDelegate.swift ein:

  1. Fügen Sie die folgenden Importanweisungen hinzu:
    import GoogleMaps
    import GoogleNavigation
  2. Folgendes Ihrem application(_:didFinishLaunchingWithOptions:) hinzufügen :
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective-C

Füge deinen API-Schlüssel folgendermaßen in AppDelegate.m ein:

  1. Fügen Sie die folgenden Importanweisungen hinzu:
    @import GoogleMaps;
    @import GoogleNavigation;
  2. Folgendes Ihrem application:didFinishLaunchingWithOptions: hinzufügen :
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

Schritt 5: Eine Karte hinzufügen

Dieser Code zeigt, wie eine einfache Karte zu einem vorhandenen ViewController hinzugefügt wird. einschließlich einiger Starteinstellungen für die Navigation.

Bevor die Navigation aktiviert werden kann, muss der Nutzer den Nutzungsbedingungen und . Rufe dazu auf, GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(), dann aktivieren Sie um zu sehen, ob die Nutzungsbedingungen akzeptiert wurden. Wenn der Nutzer die Nutzungsbedingungen ablehnt, „mapView.isNavigationEnabled = true“ hat keine Auswirkungen und „mapView.navigator“ ist Null.

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

Führen Sie die Anwendung aus. Sie sollten eine Karte sehen, die auf Kirkland, Washington, zeigt.

Wenn die Karte nicht sichtbar ist, versuchen Sie Folgendes:

  • Prüfen Sie, ob Sie den richtigen API-Schlüssel angegeben haben.
  • Prüfen Sie, ob NavSDK in der Cloud Console aktiviert ist.
  • Wenn das Nav SDK installiert ist, in Ihrem Projekt jedoch keine Nav SDK APIs verwendet werden, entfernen Sie es aus Ihrem Binärprogramm.

Wenn Sie Mobilfunkdienst-Kunde sind

Informationen zur Abrechnung, wenn Sie Mobility Services-Kunde sind in der Dokumentation zur Mobilität. Weitere Informationen zum Aufnehmen Transaktionen finden Sie unter Richten Sie die Abrechnung ein. Informationen zum Hinzufügen von Transaktions-IDs zu Ihrer Navigation SDK-Implementierung finden Sie unter Dienstnutzung mit Mobility-Transaktionen verknüpfen

Nächste Schritte

Da Sie nun einen API-Schlüssel und ein Xcode-Projekt haben, können Sie Anwendungen erstellen und ausführen. Das Navigation SDK für iOS bietet Tutorials, die Ihnen bei der Los gehts. Weitere Informationen finden Sie hier: