Xcode-Projekt einrichten

Nachdem Sie die Abrechnung aktiviert und einen API-Schlüssel erstellt haben, können Sie das Xcode-Projekt für die Entwicklung Ihrer App einrichten.

Versionshinweise sind für alle Veröffentlichung.

Schritt 1: Erforderliche Software installieren

Wenn Sie ein Projekt mit dem Maps SDK for iOS erstellen möchten, müssen Sie Folgendes herunterladen und installieren:

  • Xcode Version 15.0 oder höher

Schritt 2: Xcode-Projekt erstellen und Maps SDK for iOS installieren

Swift-Paketmanager

Das Maps SDK for iOS kann über den Swift Package Manager installiert werden. Damit du das SDK hinzufügen kannst, alle vorhandenen Abhängigkeiten des Maps SDK for iOS 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-maps-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. Bestätige im Fenster Paketprodukte auswählen die Option GoogleMaps (für Versionen vor 9.0.0: GoogleMaps, GoogleMapsBase und GoogleMapsCore) werden zu Ihr festgelegtes main-Ziel. Klicken Sie dann auf „Paket hinzufügen“.
  5. Rufen Sie den Bereich General des Ziels auf, um die Installation zu überprüfen. 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 die Abhängigkeit für GoogleMaps nicht. 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. Wählen Sie in Xcode „Datei“ > „Pakete“ > „Auf die neuesten Paketversionen aktualisieren“ aus.
  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.

Vorhandene Maps SDK for iOS-Abhängigkeiten 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 das vorhandene Maps SDK for iOS, das manuell installiert wurde:
  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:
    • GoogleMaps
    • GoogleMapsBase (nur für Installationen) älter als Version 9.0.0)
    • GoogleMapsCore (nur für Installationen) älter als Version 9.0.0)
    • GoogleMapsM4B (Nur für Installationen vor Version 9.0.0)
  2. Entfernen Sie das GoogleMaps-Bundle aus dem Verzeichnis der obersten Ebene Ihres Xcode-Projekts.

CocoaPods

Das Maps SDK for iOS ist als Pod von CocoaPods verfügbar. 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 findest du im Startleitfaden zu CocoaPods (in englischer Sprache).

sudo gem install cocoapods

Erstelle eine Podfile für das Maps SDK for iOS und verwende sie, um die API und die zugehörigen 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:
    1. Erstellen Sie ein neues Projekt.
    2. Wählen Sie den Tab iOS > App-Vorlage.
    3. Auf dem Bildschirm mit den Projektoptionen:
      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 Maps SDK for 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
    Führen Sie pod outdated regelmäßig aus, um zu erkennen, wann eine neuere um sicherzustellen, dass Sie immer die aktuelle Version verwenden. Führen Sie bei Bedarf ein Upgrade auf die neueste Version durch.
  4. Speichere die Podfile.
  5. Öffne ein Terminalfenster und suche das Verzeichnis mit der Podfile:

    cd <path-to-project>
  6. Führe den Befehl pod install aus. Dadurch werden die in der Podfile angegebenen APIs und ggf. zugehörige Abhängigkeiten installiert.

    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 bestehendes 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 das Maps SDK for iOS enthalten, Ihrem Projekt manuell hinzufügen und Ihre Build-Einstellungen in Xcode konfigurieren. Ein XCFramework ist ein Binärpaket, das Sie auf mehreren Plattformen verwenden können, einschließlich Rechnern, die Apple Silicon verwenden.
  1. Laden Sie die folgenden SDK-Binärdateien und Ressourcendateien herunter:
  2. Extrahieren Sie die Dateien, um auf XCFrameworks und Ressourcen zuzugreifen.
  3. 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:
    1. Erstellen Sie ein neues Projekt.
    2. Wählen Sie den Tab iOS > App-Vorlage.
    3. Auf dem Bildschirm mit den Projektoptionen:
      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.
  4. Öffnen Sie den Tab Allgemein. Ziehen Sie die folgenden XCFrameworks in Ihr Projekt. unter Frameworks, Bibliotheken und eingebettete Inhalte. Achten Sie darauf, um Nicht einbetten für jedes XCFramework auszuwählen:
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
  5. Kopieren Sie den GoogleMaps.bundle aus GoogleMapsResources. die Sie in das Verzeichnis der obersten Ebene Ihres Xcode-Projekts heruntergeladen haben. Achten Sie darauf, Kopieren Sie die Elemente in den Ordner der Zielgruppe, wenn Sie dazu aufgefordert werden.
  6. Wähle im Project Navigator dein Projekt aus und gib dann das Ziel deiner App an.
  7. Öffnen Sie den Tab Build Phases (Build-Phasen) für das Ziel Ihrer Anwendung. Fügen Sie unter Link Binary with Libraries (Binärdatei mit Bibliotheken verknüpfen) Folgendes hinzu: Frameworks und Bibliotheken:
    • 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 (nur bei Verwendung von OpenGL)
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. Wähle statt eines bestimmten Ziels dein Projekt aus und öffne den Tab Build-Einstellungen. Fügen Sie im Bereich Linking – General -> Other Linker Flags (Verknüpfen – Allgemein -> Weitere Verknüpfungsmerker) -ObjC zu „Debug“ und „Release“ hinzu. Wenn diese Einstellungen nicht sichtbar sind, ändern Sie den Filter in der Leiste Build-Einstellungen von Einfach zu Alle ändern.

  9. Informationen zum Installieren des XCFrameworks für das Places SDK for iOS findest du im Startleitfaden zum Places SDK for iOS.

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

Unter API-Schlüssel abrufen geben Sie Folgendes ein: einen API-Schlüssel für Ihre App generiert. Fügen Sie diesen Schlüssel nun Ihrem Xcode-Projekt hinzu.

Ersetzen Sie YOUR_API_KEY in den folgenden Beispielen durch Ihren API-Schlüssel.

Swift

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

  1. Gib die folgende Importanweisung an:
    import GoogleMaps
  2. Füge Folgendes in die Methode application(_:didFinishLaunchingWithOptions:) ein, wobei YOUR_API_KEY durch deinen API-Schlüssel ersetzt werden muss:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Wenn du auch die Places API verwendest, füge deinen Schlüssel wie hier gezeigt noch einmal ein:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

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

  1. Gib die folgende Importanweisung an:
    @import GoogleMaps;
  2. Folgendes Ihrem application:didFinishLaunchingWithOptions: hinzufügen mithilfe Ihres API-Schlüssels:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Wenn du auch die Places API verwendest, füge deinen Schlüssel wie hier gezeigt noch einmal ein:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Schritt 5: Eine Karte hinzufügen

Swift

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

#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

Schritt 5 (optional): URL-Schemas deklarieren, die von der API verwendet werden

Ab iOS 9 und Xcode 7 können Apps die URL-Schemas deklarieren, die sie öffnen möchten, indem Sie die Schemas in der Datei Info.plist der App angeben. Die Mit dem Maps SDK for iOS wird die Google Maps App geöffnet, wenn der Nutzer auf die App klickt. das Google-Logo auf der Karte angezeigt wird, sodass Ihre App die entsprechende URL angeben kann, Schemata.

Um die vom Maps SDK for iOS verwendeten URL-Schemas zu deklarieren, fügen Sie den Parameter folgende Zeilen zu Info.plist:

LSApplicationQueriesSchemes googlechromes comgooglemaps

Im folgenden Screenshot wird die Konfiguration in der Benutzerschnittstelle von Xcode gezeigt:

LSApplicationQueriesSchemes-Konfiguration in
Xcode

Ohne die oben genannte Erklärung können die folgenden Fehler auftreten, wenn der Nutzer auf das Google-Logo auf der Karte tippt:

  • -canOpenURL: failed for URL: "comgooglemaps://" - error: "Diese App darf nicht nach dem Schema comgooglemaps fragen"
  • -canOpenURL: fehlgeschlagen für URL: „googlechromes://“ - Fehler: "Diese App ist nicht darf nach dem Schema googlechromes suchen“

Fügen Sie die Deklaration zu Info.plist hinzu, um diese Fehler zu vermeiden.

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 for iOS bietet viele Anleitungen und Beispiel-Apps, die Ihnen bei der damit Sie loslegen können. Weitere Informationen finden Sie hier: