Richten Sie den Anfangscode für Amazon Location ein - Amazon Location Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Richten Sie den Anfangscode für Amazon Location ein

Diese Seite enthält den ersten Code für eine iOS-Beispielanwendung, die in den Amazon Location Service integriert ist. Mit diesem Code als Ausgangspunkt können Sie standortbezogene iOS-Apps erstellen, die Funktionen wie Karten, Geokodierung, Geofencing, Tracking und Routing nutzen.

Aktivieren Sie Standortberechtigungen in Ihrer App
  1. Öffnen Sie Ihr Xcode-Projekt.

  2. Suchen Sie die Info.plist Datei des Projekts.

  3. Fügen Sie die erforderlichen Schlüssel für Standortberechtigungen hinzu, die den Anforderungen Ihrer App entsprechen. Hier sind die Schlüssel:

    • NSLocationWhenInUseUsageDescription: Beschreibung, warum Ihre App Standortzugriff benötigt, wenn sie verwendet wird.

    • NSLocationAlwaysAndWhenInUseUsageDescription: Beschreibung, warum Ihre App kontinuierlichen Standortzugriff benötigt.

Jetzt müssen Sie die Ressourcenwerte in Ihrer App konfigurieren. Fügen Sie eine neue Datei mit dem Namen hinzu Config.xcconfig und geben Sie die Werte ein, die Sie zuvor in der Amazon-Konsole erstellt haben.

REGION = INDEX_NAME = MAP_NAME = IDENTITY_POOL_ID = TRACKER_NAME =
  1. Wählen Sie im Navigationsbereich auf der linken Seite das Projekt aus.

  2. Wählen Sie im Bereich Ziele Ihre App aus und klicken Sie auf den Info-Tab.

  3. Fügen Sie Informationseigenschaften mit Werten wie den folgenden hinzu:

  4. Fügen Sie die Config.swift Datei mit dem folgenden Inhalt hinzu, die die Konfigurationswerte aus der Bundle-Infodatei liest.

    import Foundation enum Config { static let region = Bundle.main.object(forInfoDictionaryKey: "Region") as! String static let mapName = Bundle.main.object(forInfoDictionaryKey: "MapName") as! String static let indexName = Bundle.main.object(forInfoDictionaryKey: "IndexName") as! String static let identityPoolId = Bundle.main.object(forInfoDictionaryKey: "IdentityPoolId") as! String static let trackerName = Bundle.main.object(forInfoDictionaryKey: "TrackerName") as! String }
  5. Erstellen Sie einen neuen Ordner mit dem Namen ViewModel und fügen Sie eine TrackingViewModel.swift Datei darin hinzu.

    import SwiftUI import AmazonLocationiOSAuthSDK import MapLibre final class TrackingViewModel : ObservableObject { @Published var trackingButtonText = NSLocalizedString("StartTrackingLabel", comment: "") @Published var trackingButtonColor = Color.blue @Published var trackingButtonIcon = "play.circle" @Published var region : String @Published var mapName : String @Published var indexName : String @Published var identityPoolId : String @Published var trackerName : String @Published var showAlert = false @Published var alertTitle = "" @Published var alertMessage = "" @Published var centerLabel = "" var clientIntialised: Bool var client: LocationTracker! var authHelper: AuthHelper var credentialsProvider: LocationCredentialsProvider? var mlnMapView: MLNMapView? var mapViewDelegate: MapViewDelegate? var lastGetTrackingTime: Date? var trackingActive: Bool init(region: String, mapName: String, indexName: String, identityPoolId: String, trackerName: String) { self.region = region self.mapName = mapName self.indexName = indexName self.identityPoolId = identityPoolId self.trackerName = trackerName self.authHelper = AuthHelper() self.trackingActive = false self.clientIntialised = false } func authWithCognito(identityPoolId: String?) { guard let identityPoolId = identityPoolId?.trimmingCharacters(in: .whitespacesAndNewlines) else { alertTitle = NSLocalizedString("Error", comment: "") alertMessage = NSLocalizedString("NotAllFieldsAreConfigured", comment: "") showAlert = true return } credentialsProvider = authHelper.authenticateWithCognitoUserPool(identityPoolId: identityPoolId) initializeClient() } func initializeClient() { client = LocationTracker(provider: credentialsProvider!, trackerName: trackerName) clientIntialised = true } }