Xcode-Projekt einrichten

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

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 14.0 oder höher
  • CocoaPods

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

So installieren Sie die API in einem neuen Projekt:

Mit 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 auf Ihrem lokalen Computer. Wenn Sie mit der iOS-Entwicklung noch nicht vertraut 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 den Wert des Felds Paket-ID. Mit diesem Wert können Sie Ihren API-Schlüssel unten einschränken.
      3. Setzen Sie 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 die Abhängigkeiten zusammen mit ihren versions hinzu. Das folgende Beispiel enthält die Abhängigkeit, die Sie für das Maps SDK for iOS benötigen:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '14.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '8.3.1'
    end
    
    Führen Sie regelmäßig pod outdated aus, um festzustellen, ob eine neuere Version verfügbar ist. So haben Sie immer die aktuelle Version. Führen Sie bei Bedarf ein Upgrade auf die neueste Version durch.
  4. Speichere die Podfile.
  5. Öffnen Sie ein Terminal und rufen Sie das Verzeichnis mit der Podfile auf:

    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 vorhandenes Projekt:

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

Manuell einbinden

In diesem Leitfaden erfahren Sie, wie Sie das XCFrameworks, das das Maps SDK for iOS enthält, manuell zu Ihrem Projekt 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 Computern, die Apple Silicon verwenden.
  1. Laden Sie die folgenden SDK-Binärprogramme und Ressourcendateien herunter:
  2. Entpacken Sie die ZIP-Dateien, um auf XCFrameworks und Ressourcen zuzugreifen.
  3. Wenn Sie noch kein Xcode-Projekt haben, erstellen Sie eines und speichern Sie es auf Ihrem lokalen Computer. Wenn Sie mit der iOS-Entwicklung noch nicht vertraut 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 den Wert des Felds Paket-ID. Mit diesem Wert können Sie Ihren API-Schlüssel unten einschränken.
      3. Setzen Sie das Projekt Interface auf Storyboard.
      4. Setzen Sie Language (Sprache) auf Swift oder Objective-C.
  4. Ziehen Sie die folgenden XCFrameworks in Ihr Projekt unter Frameworks, Bibliotheken und eingebettete Inhalte. Wählen Sie für jedes XCFramework die Option Do Not Embed (Nicht einbetten) aus:
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • (Nur für Kunden mit Premiumoption) GoogleMapsM4B.xcframework
  5. Ziehen Sie GoogleMaps.bundle aus den heruntergeladenen GoogleMapsResources in das Verzeichnis der obersten Ebene Ihres Xcode-Projekts. Achten Sie bei entsprechender Aufforderung darauf, dass Copy items if required (Elemente bei Bedarf kopieren) ausgewählt ist.
  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 und fügen Sie unter Link Binary with Libraries (Binärdatei mit Bibliotheken verknüpfen) die folgenden Frameworks und Bibliotheken hinzu:
    • Accelerate.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
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. Wählen Sie Ihr Projekt anstelle eines bestimmten Ziels aus und öffnen Sie den Tab Build Settings (Build-Einstellungen). Fügen Sie im Bereich Weitere Verknüpfungs-Flags -ObjC hinzu. Falls diese Einstellungen nicht angezeigt werden, ändern Sie den Filter in der Leiste Build-Einstellungen von Basic in All.

  9. Informationen zum Installieren 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 Anwendung 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.

erhältst du weitere Informationen.

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ügen Sie der Methode application(_:didFinishLaunchingWithOptions:) mithilfe Ihres API-Schlüssels Folgendes hinzu:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Wenn Sie auch die Places API verwenden, fügen Sie Ihren Schlüssel noch einmal wie hier gezeigt hinzu:
    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ügen Sie der Methode application:didFinishLaunchingWithOptions: mithilfe Ihres API-Schlüssels Folgendes hinzu:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Wenn Sie auch die Places API verwenden, fügen Sie Ihren Schlüssel noch einmal wie hier gezeigt hinzu:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Schritt 4: Karte hinzufügen

Swift

/*
 *   Copyright 2020 Google Inc. All rights reserved.
 *
 *
 *   Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 *   file except in compliance with the License. You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software distributed under
 *   the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 *   ANY KIND, either express or implied. See the License for the specific language governing
 *   permissions and limitations under the License.
 */

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

/*
*   Copyright 2020 Google Inc. All rights reserved.
*
*
*   Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
*   file except in compliance with the License. You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software distributed under
*   the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
*   ANY KIND, either express or implied. See the License for the specific language governing
*   permissions and limitations under the License.
*/

#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): Von der API verwendete URL-Schemas deklarieren

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. Mit dem Maps SDK for iOS wird die Google Maps App geöffnet, wenn der Nutzer auf der Karte auf das Google-Logo klickt. Daher können in Ihrer App die entsprechenden URL-Schemas deklariert werden.

Zum Deklarieren der URL-Schemas, die vom Maps SDK for iOS verwendet werden, fügen Sie Ihrem Info.plist die folgenden Zeilen hinzu:

LSApplicationQueriesSchemes googlechromes comgooglemaps

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

LSApplicationQueriesSchemes-Konfiguration in Xcode

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

-canOpenURL: fehlgeschlagen für URL: "comgooglemaps://" - Fehler: "Diese App darf das Schema comgooglemaps nicht abfragen" -canOpenURL: fehlgeschlagen für URL: "googlechromes://" - Fehler: "Diese App darf das Schema googlechromes nicht abfragen"

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 Maps SDK for iOS bietet viele Anleitungen und Beispiel-Apps, die Ihnen den Einstieg erleichtern. Weitere Informationen finden Sie hier: