Xcode-Projekt einrichten

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

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 installiert werden. Swift Package Manager 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. Klicke anschließend auf „Paket hinzufügen“.
  5. Um die Installation zu überprüfen, navigiere zum Bereich General deines Ziels. 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 nicht die Abhängigkeit für GoogleMaps 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. Gehen Sie in Xcode zu „File > Pakete > Auf neueste Paketversionen aktualisieren“.
  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: <ph type="x-smartling-placeholder">
    </ph>
  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: <ph type="x-smartling-placeholder">
      </ph>
    • 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) älter als Version 9.0.0)
  2. Entfernen Sie im Verzeichnis der obersten Ebene Ihres Xcode-Projekts das GoogleMaps Set.

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: <ph type="x-smartling-placeholder">
      </ph>
    1. Erstellen Sie ein neues Projekt.
    2. Wählen Sie die Option iOS > App-Vorlage.
    3. Auf dem Bildschirm mit den Projektoptionen: <ph type="x-smartling-placeholder">
        </ph>
      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. Stellen Sie die Sprache auf Swift oder Objective-C ein.
  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 versions. 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. Öffnen Sie ein Terminal und wechseln Sie zum Verzeichnis mit der Datei 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 vorhandenes 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: <ph type="x-smartling-placeholder">
  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: <ph type="x-smartling-placeholder">
      </ph>
    1. Erstellen Sie ein neues Projekt.
    2. Wählen Sie die Option iOS > App-Vorlage.
    3. Auf dem Bildschirm mit den Projektoptionen: <ph type="x-smartling-placeholder">
        </ph>
      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. Stellen Sie die Sprache auf Swift oder Objective-C ein.
  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: <ph type="x-smartling-placeholder">
      </ph>
    • 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ählen Sie im Project Navigator Ihr Projekt und dann Anwendungsziel.
  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: <ph type="x-smartling-placeholder">
      </ph>
    • 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ählen Sie Ihr Projekt statt eines bestimmten Ziels aus und öffnen Sie das Build Settings (Build-Einstellungen). Klicken Sie im Menü Linking - General -> Andere Verknüpfung Flags hinzufügen, fügen Sie -ObjC zur Fehlerbehebung hinzu. und „Veröffentlichung“. 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 Places SDK for iOS XCFramework finden Sie unter Erste Schritte mit dem Places SDK for iOS.

Schritt 3: Apple Privacy Manifest-Datei prüfen

Apple verlangt, dass für 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. Fügen Sie die folgende Importanweisung hinzu:
    import GoogleMaps
  2. Folgendes Ihrem application(_:didFinishLaunchingWithOptions:) hinzufügen mithilfe Ihres API-Schlüssels:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Wenn Sie auch die Places API verwenden, fügen Sie Ihren Schlüssel noch einmal hinzu, wie hier gezeigt:
    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. Folgendes Ihrem application:didFinishLaunchingWithOptions: hinzufügen mithilfe Ihres API-Schlüssels:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Wenn Sie auch die Places API verwenden, fügen Sie Ihren Schlüssel noch einmal hinzu, wie hier gezeigt:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Schritt 5: Eine 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 angeben

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 <ph type="x-smartling-placeholder"></ph> Google Chrome comgooglemaps

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

LSApplicationQueriesSchemes-Konfiguration in
Xcode

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

  • -canOpenURL: fehlgeschlagen für URL: "comgooglemaps://" - Fehler: "Diese App ist nicht darf nach Schema comgooglemaps abfragen.“
  • -canOpenURL: fehlgeschlagen für URL: „googlechromes://“ - Fehler: "Diese App ist nicht darf nach Schema googlechromes 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 Navigation SDK for iOS bietet viele Anleitungen und Beispiel-Apps, die Ihnen bei der Los gehts. Weitere Informationen finden Sie hier: