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.

Für jeden Release sind Versionshinweisen 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:

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

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 Xcode project oder workspace und gehen Sie zu 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 einzubinden, und klicken Sie auf „Paket hinzufügen“.
  3. Wenn Sie eine bestimmte version installieren möchten, legen Sie im Feld Abhängigkeitsregel eine der versionbasierten Optionen fest. Für neue Projekte empfehlen wir, die neueste Version anzugeben und die Option „Genaue Version“ zu verwenden. Klicken Sie dann auf „Paket hinzufügen“.

So aktualisieren Sie die package für ein bestehendes 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 zur Version 9.0.0.

    Suchen Sie in den Konfigurationseinstellungen Ihres Xcode-Projekts nach Frameworks, Bibliotheken und eingebetteten Inhalten. 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, rufen Sie im Project Navigator den Bereich Package Dependencies auf, um das Paket und seine Version zu prüfen.

So entfernen Sie vorhandene Abhängigkeiten des Maps SDK for iOS, 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 nicht für andere Zwecke als CocoaPods verwenden.

So entfernen Sie ein manuell installiertes Maps SDK for iOS:
  1. Suchen Sie in den Konfigurationseinstellungen Ihres Xcode-Projekts nach Frameworks, Bibliotheken und eingebetteten Inhalten. 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 Verzeichnis der obersten Ebene Ihres Xcode-Projekts.

Manuelle Installation

In diesem Leitfaden erfährst du, wie du die XCFrameworks mit dem Maps SDK for iOS manuell in dein Projekt einfügst und die Build-Einstellungen in Xcode konfigurierst. Ein XCFramework ist ein Binärpaket, das auf mehreren Plattformen verwendet werden kann, einschließlich Computern 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. Falls du noch kein Xcode-Projekt hast, erstelle eines und speichere es auf dem lokalen Rechner. Wenn Sie noch keine Erfahrung mit der iOS-Entwicklung haben:
    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-ID. Sie können diesen Wert verwenden, um Ihren API-Schlüssel unten einzuschränken.
      3. Legen Sie für die Benutzeroberfläche des Projekts Storyboard fest.
      4. Legen Sie für Language Swift oder Objective-C fest.
  4. Öffnen Sie den Tab Allgemein. Ziehen Sie das folgende XCFramework unter Frameworks, Bibliotheken und eingebettete Inhalte in Ihr Projekt. Wähle Nicht einbetten aus:
    • GoogleMaps.xcframework
  5. Kopieren Sie die GoogleMaps.bundle aus den heruntergeladenen GoogleMapsResources in das oberste Verzeichnis Ihres Xcode-Projekts. Wähle Copy items into destination group's folder (Elemente in Ordner der Zielgruppe kopieren) aus, wenn du dazu aufgefordert wirst.
  6. Wähle im Project Navigator dein Projekt aus und gib dann das Ziel deiner App an.
  7. Öffnen Sie den Tab Build-Phasen für das Ziel Ihrer Anwendung. Füge unter Link Binary with Libraries (Binärdatei mit Bibliotheken verknüpfen) 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
    • 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. Falls die Einstellungen nicht angezeigt werden, filtere in der Leiste Build Settings nicht mehr nach Basic (Standard), sondern nach All (Alle).

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

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. Falls du noch kein Xcode-Projekt hast, erstelle eines und speichere es auf dem lokalen Rechner. Wenn Sie noch keine Erfahrung mit der iOS-Entwicklung haben:
    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-ID. Sie können diesen Wert verwenden, um Ihren API-Schlüssel unten einzuschränken.
      3. Legen Sie für die Benutzeroberfläche des Projekts Storyboard fest.
      4. Legen Sie für Language Swift oder Objective-C fest.
  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 die Abhängigkeiten mit ihren Versionen hinzu. Im Folgenden findest du ein Beispiel, das die Abhängigkeit enthält, die du für das Maps SDK for iOS benötigst:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '9.2.0'
    end
    
    Führen Sie pod outdated regelmäßig aus, um zu prüfen, ob es eine neuere Version gibt, damit Sie immer auf dem neuesten Stand sind. 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ühren Sie 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. Öffne ein Terminalfenster und gehe zum Projektverzeichnis mit der Podfile.
  2. Führen Sie den Befehl pod update aus: Dadurch werden alle in der Podfile angegebenen APIs auf die neueste Version aktualisiert.

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

Unter API-Schlüssel abrufen 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. Fügen Sie die folgende Importanweisung hinzu:
    import GoogleMaps
  2. Füge Folgendes in die Methode application(_:didFinishLaunchingWithOptions:) ein, wobei du deinen API-Schlüssel verwenden musst:
    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. Fügen Sie die folgende Importanweisung hinzu:
    @import GoogleMaps;
  2. Füge Folgendes in die Methode application:didFinishLaunchingWithOptions: ein, wobei du deinen API-Schlüssel verwenden musst:
    [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): Manifestdatei für den Datenschutz von Apple prüfen

Apple verlangt Angaben zum App-Datenschutz für Apps im App Store. Aktuelle Informationen finden Sie auf der Seite App-Datenschutzdetails im Apple App Store.

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

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 Info.plist-Datei der App angeben. Das Maps SDK for iOS öffnet die Google Maps App, wenn der Nutzer auf das Google-Logo auf der Karte klickt. Ihre App kann daher die entsprechenden URL-Schemas angeben.

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>

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

Konfiguration von „LSApplicationQueriesSchemes“ 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: "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 Erklärung Ihrem 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 Tutorials und Beispielanwendungen für einen einfacheren Einstieg. Weitere Informationen finden Sie hier: