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 Anwendung einrichten.

Für jede Version sind Versionshinweise verfügbar.

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 26.0 oder höher

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

Die SDK-Installationsgröße variiert. Die Installationsgröße für das Maps SDK for iOS Version 9.0 beträgt beispielsweise etwa 18 MB.

Swift Package Manager

Das Maps SDK for iOS kann über den Swift Package Manager installiert werden. Bevor Sie das SDK hinzufügen, müssen Sie alle vorhandenen Abhängigkeiten des Maps SDK for iOS entfernen.

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

  1. Öffnen Sie Ihr Xcode-project oder workspace und gehen Sie dann zu File > Add Package Dependencies (Datei > Paketabhängigkeiten hinzufügen).
  2. Geben Sie https://github.com/googlemaps/ios-maps-sdk als URL ein, drücken Sie die Eingabetaste, um das Paket abzurufen, und klicken Sie auf „Add Package“ (Paket hinzufügen).
  3. Wenn Sie eine bestimmte version installieren möchten, legen Sie im Feld Abhängigkeitsregel eine der versionsbasierten Optionen fest. Für neue Projekte empfehlen wir, die aktuelle Version anzugeben und die Option „Genaue Version“ zu verwenden. Klicken Sie anschließend auf „Paket hinzufügen“.
  4. Prüfen Sie im Fenster Paketprodukte auswählen, ob GoogleMaps (für Versionen vor 9.0.0: GoogleMaps, GoogleMapsBase und GoogleMapsCore) dem gewünschten main-Ziel hinzugefügt wird. Klicken Sie anschließend auf „Paket hinzufügen“.
  5. Rufen Sie den Bereich Allgemein des Ziels auf, um die Installation zu prüfen. Unter Frameworks, Libraries, and Embedded Content (Frameworks, Bibliotheken und eingebettete Inhalte) sollten die installierten Pakete angezeigt werden. Sie können auch den Abschnitt „Package Dependencies“ (Paketabhängigkeiten) im „Project Navigator“ (Projektnavigator) aufrufen, um das Paket und seine Version zu prüfen.

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

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

    Suchen Sie in den Konfigurationseinstellungen Ihres Xcode-Projekts nach Frameworks, Libraries, and Embedded Content (Frameworks, Bibliotheken 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 > Packages > Update To Latest Package Versions.
  3. Prüfen Sie die Installation im Abschnitt Paketabhängigkeiten des Project Navigator, um das Paket und seine Version zu bestätigen.

So entfernen Sie vorhandene Maps SDK for iOS-Abhängigkeiten, die mit CocoaPods hinzugefügt wurden:

  1. Schließen Sie Ihren 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 Xcode workspace, wenn Sie sie nur für CocoaPods verwenden.
So entfernen Sie ein manuell installiertes Maps SDK for iOS:
  1. Suchen Sie in den Konfigurationseinstellungen Ihres Xcode-Projekts nach Frameworks, Libraries, and Embedded Content (Frameworks, Bibliotheken und eingebettete Inhalte). Verwenden Sie das Minuszeichen (-), um das folgende Framework zu entfernen:
    • GoogleMaps
    • GoogleMapsBase (nur für Installationen vor Version 9.2.0)
    • GoogleMapsCore (nur für Installationen vor Version 9.2.0)
    • GoogleMapsM4B (nur für Installationen vor Version 9.0.0)
  2. Entfernen Sie das GoogleMaps-Bundle aus dem obersten Verzeichnis Ihres Xcode-Projekts.

Manuelle Installation

In diesem Leitfaden wird beschrieben, wie Sie die XCFrameworks mit dem Maps SDK for iOS manuell zu Ihrem Projekt hinzufügen und die Build-Einstellungen in Xcode konfigurieren. Ein XCFramework ist ein Binärpaket, das Sie auf mehreren Plattformen verwenden können, einschließlich Geräten mit Apple Silicon.

  1. Laden Sie die folgenden SDK-Binärdateien und Ressourcendateien herunter:
  2. Extrahieren Sie die Dateien, um auf die XCFrameworks und Ressourcen zuzugreifen.
  3. Wenn Sie noch kein Xcode-Projekt haben, erstellen Sie jetzt eines und speichern Sie es auf Ihrem lokalen Computer. Wenn Sie neu in der iOS-Entwicklung sind:
    1. Erstellen Sie ein neues Projekt.
    2. Wählen Sie die Vorlage iOS > App aus.
    3. Auf dem Bildschirm mit den Projektoptionen:
      1. Geben Sie den Projektnamen ein.
      2. Notieren Sie sich den Wert des Felds Bundle identifier (Paket-Identifikator). Mit diesem Wert können Sie Ihren API-Schlüssel unten einschränken.
      3. Legen Sie für die Schnittstelle des Projekts Storyboard fest.
      4. Legen Sie für Language (Sprache) Swift oder Objective-C fest.
  4. Öffnen Sie den Tab Allgemein. Ziehen Sie die folgenden XCFrameworks in Ihr Projekt unter Frameworks, Libraries, and Embedded Content (Frameworks, Bibliotheken und eingebettete Inhalte). Wählen Sie Nicht einbetten aus:
    • GoogleMaps.xcframework
  5. Kopieren Sie die Datei GoogleMaps.bundle aus den heruntergeladenen GoogleMapsResources in das oberste Verzeichnis Ihres Xcode-Projekts. Wählen Sie bei Aufforderung Elemente in den Ordner der Zielgruppe kopieren aus.
  6. Wählen Sie Ihr Projekt im Project Navigator und dann das Ziel Ihrer Anwendung aus.
  7. Öffnen Sie den Tab Build Phases (Build-Phasen) für das Ziel Ihrer Anwendung. Fügen Sie unter Link Binary with Libraries die folgenden Frameworks und Bibliotheken hinzu:
    • 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 (nur bei Verwendung von OpenGL)
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. Wählen Sie Ihr Projekt und nicht ein bestimmtes Ziel aus und öffnen Sie den Tab Build Settings (Build-Einstellungen). Fügen Sie im Abschnitt Linking - General -> Other Linker Flags (Verknüpfung – Allgemein –> Andere Linker-Flags) -ObjC zu „Debug“ und „Release“ hinzu. Wenn diese Einstellungen nicht sichtbar sind, ändern Sie den Filter in der Leiste Build-Einstellungen von Einfach in Alle.

  9. Informationen zur Installation des Places SDK for iOS XCFramework finden Sie unter Erste Schritte mit dem Places SDK for iOS.

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

Unter API-Schlüssel anfordern haben Sie einen API-Schlüssel für Ihre App generiert. Fügen Sie diesen Schlüssel jetzt 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ügen Sie der Methode application(_:didFinishLaunchingWithOptions:) Folgendes hinzu und verwenden Sie dabei Ihren API-Schlüssel:
    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. Fügen Sie der Methode application:didFinishLaunchingWithOptions: Folgendes hinzu und verwenden Sie dabei Ihren API-Schlüssel:
    [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 4 (optional): Datenschutzmanifestdatei von Apple prüfen

Apple verlangt Datenschutzdetails für Apps im App Store. Aktuelle Informationen und weitere Details finden Sie auf der Detailseite mit Datenschutzinformationen im Apple App Store.

Die Datenschutzmanifestdatei von Apple ist im Ressourcen-Bundle für das SDK enthalten. Wenn Sie prüfen möchten, ob die Datenschutzmanifestdatei enthalten ist, und ihren Inhalt einsehen möchten, erstellen Sie ein Archiv Ihrer App und generieren Sie einen Datenschutzbericht aus dem Archiv.

Schritt 5 (optional): Von der API verwendete URL-Schemas deklarieren

Ab iOS 9 und Xcode 7 deklarieren Apps die URL-Schemas, die sie öffnen möchten, indem sie die Schemas in der Datei Info.plist der App angeben. Das Maps SDK for iOS öffnet die Google Maps App, wenn der Nutzer auf der Karte auf das Google-Logo klickt. Ihre App kann daher die relevanten URL-Schemas deklarieren.

Wenn Sie die vom Maps SDK for iOS verwendeten URL-Schemas deklarieren möchten, fügen Sie Ihrer Info.plist die folgenden Zeilen hinzu:

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

Die folgende Abbildung zeigt die Konfiguration in der Xcode-Benutzeroberfläche:

Konfiguration von „LSApplicationQueriesSchemes“ in Xcode

Ohne die obige Deklaration können die folgenden Fehler auftreten, wenn der Nutzer auf das Google-Logo auf der Karte tippt:

  • -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"

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

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 den Einstieg erleichtern. Weitere Informationen finden Sie hier: