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:
-
Öffne deinen Xcode
project
oderworkspace
und klicke auf Datei > Paketabhängigkeiten hinzufügen. - 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“.
-
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“. -
Bestätige im Fenster Paketprodukte auswählen die Option
GoogleMaps
(für Versionen vor 9.0.0:GoogleMaps
,GoogleMapsBase
undGoogleMapsCore
) werden zu Ihr festgelegtesmain
-Ziel. Klicken Sie dann auf „Paket hinzufügen“. -
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:
Wenn Sie ein Upgrade von einer früheren Version als 9.0.0 durchführen,müssen Sie die folgenden Abhängigkeiten:
GoogleMapsBase
,GoogleMapsCore
undGoogleMapsM4B
nach dem Upgrade. Entfernen Sie die Abhängigkeit fürGoogleMaps
nicht. Weitere Informationen finden Sie in der Versionshinweise zu Version 9.0.0Gehen 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)
- Wählen Sie in Xcode „Datei“ > „Pakete“ > „Auf die neuesten Paketversionen aktualisieren“ aus.
- 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:
- 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
-
Entfernen Sie
Podfile
,Podfile.resolved
und den Xcodeworkspace
, wenn du sie ausschließlich für CocoaPods verwendest.
-
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)
-
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:
- 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:
- Erstellen Sie ein neues Projekt.
- Wählen Sie den Tab iOS > App-Vorlage.
- Auf dem Bildschirm mit den Projektoptionen:
- Geben Sie den Projektnamen ein.
- Notieren Sie den Wert des Felds Bundle Identifier. Mit diesem Wert können Sie Ihren API-Schlüssel unten einschränken.
- Setze das Projekt Interface auf Storyboard.
- Setzen Sie Language (Sprache) auf Swift oder Objective-C.
- Erstelle in deinem Projektverzeichnis eine Datei mit dem Namen
Podfile
. In dieser Datei sind die Abhängigkeiten des Projekts definiert. - 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: Führen Siesource 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '8.4.0' end
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. - Speichere die
Podfile
. Öffne ein Terminalfenster und suche das Verzeichnis mit der
Podfile
:cd <path-to-project>
Führe den Befehl
pod install
aus. Dadurch werden die in derPodfile
angegebenen APIs und ggf. zugehörige Abhängigkeiten installiert.pod install
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:
- Öffnen Sie ein Terminal und rufen Sie das Projektverzeichnis mit der Datei
Podfile
auf. - Führe den Befehl
pod update
aus. Dadurch werden alle APIs aktualisiert inPodfile
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.- Laden Sie die folgenden SDK-Binärdateien und Ressourcendateien herunter:
- Extrahieren Sie die Dateien, um auf XCFrameworks und Ressourcen zuzugreifen.
- 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:
- Erstellen Sie ein neues Projekt.
- Wählen Sie den Tab iOS > App-Vorlage.
- Auf dem Bildschirm mit den Projektoptionen:
- Geben Sie den Projektnamen ein.
- Notieren Sie den Wert des Felds Bundle Identifier. Mit diesem Wert können Sie Ihren API-Schlüssel unten einschränken.
- Setze das Projekt Interface auf Storyboard.
- Setzen Sie Language (Sprache) auf Swift oder Objective-C.
-
Ö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
-
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. - Wähle im Project Navigator dein Projekt aus und gib dann das Ziel deiner App an.
-
Ö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
-
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. -
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:
- Gib die folgende Importanweisung an:
import GoogleMaps
- 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")
- 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:
- Gib die folgende Importanweisung an:
@import GoogleMaps;
- Folgendes Ihrem
application:didFinishLaunchingWithOptions:
hinzufügen mithilfe Ihres API-Schlüssels:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- 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
:
Im folgenden Screenshot wird die Konfiguration in der Benutzerschnittstelle von Xcode gezeigt:
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: