← Tillbaka till projekt Mobilapplikation · iOS & Swift

iOS Geolocation Mobilapp

En infödd iOS-applikation utvecklad i Swift och SwiftUI för GPS-registrering med hög precision och ruttspårning i realtid.

PROJEKT

Projektet

GeolocationApp är en infödd iOS-applikation utvecklad i Swift och SwiftUI. Den möjliggör exakt registrering av GPS-koordinater, automatisk omvänd geokodning av adresser, ruttspårning i realtid med beräkning av avstånd och hastighet samt lokal arkivering och delning av sparad data.

Projektöversikt & Arkitektur

GeolocationApp är en infödd iOS-applikation utvecklad i Swift och SwiftUI. Framtagen för optimal prestanda och smidig användarupplevelse förenar den precisionen hos CoreLocation med kartfunktionerna i MapKit.

┌─────────────────────────────────────────────────────────────────────────────┐
│                   GeolocationApp iOS Native Architecture                    │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                       │
           ┌───────────────────────────┼───────────────────────────┐
           ▼                           ▼                           ▼
  📍 CoreLocation Engine       🗺️ MapKit & SwiftUI         💾 Local Data Pipeline
  • High-precision GPS fixes   • Interactive vector maps   • JSON File persistence
  • Reverse geocoding worker   • MapPolyline route tracing • Documents directory
  • Authorization state flow   • Combine reactive bindings • Multi-channel export
            

GPS-spårning med hög precision

Omedelbar registrering av latitud, longitud, felmarginal, exakta tidsstämplar och enhetsdata.

Automatisk omvänd geokodning

Automatisk översättning av råa GPS-koordinater till läsbara gatuadresser (gata, postnummer, stad, land).

Ruttsökning i realtid

Live-inspelning av resvägen med interaktiv MapPolyline-ritning, beräkning av total sträcka och momentan hastighet.

Huvudfunktioner & Datahantering

Lokal beständig lagring

Säker loggning av platshistorik i JSON-format direkt i appens lokala Documents-katalog.

Flerkanalsdelning av data

Snabbexport av koordinater via Apple Maps, förifyllda SMS-meddelanden eller e-post.

Historikhantering

Användarvänligt gränssnitt för att granska sparade GPS-punkter och radera poster selektivt eller samlat.

Arkitektur & Teknologier

  • Språk & Användargränssnitt: Swift 5 & Deklarativt SwiftUI-ramverk
  • Platstjänster: CoreLocation (behörighetshantering och högfrekvent GPS-mottagare)
  • Kartvisning: MapKit (vektorkartor och MapPolyline-ruttritning i realtid)
  • Tillståndshantering: Combine-ramverket (reaktiv arkitektur med @Published och ObservableObject)
  • Datalagring: JSON-serialisering via infödda FileManager (Documents-katalogen)

Källkodsstruktur

Källkoden följer en modulär arkitektur med tydlig ansvarsfördelning:

  • App/Startpunkt: Initiering av applikationens livscykel (@main).
  • Models/Datamodeller: Datastrukturer i enlighet med protokollen Codable och Identifiable.
  • Services/Tjänstelager: Positioneringskontroller och hantering av hårdvarans GPS-mottagare.
  • Views/Visningslager: SwiftUI-vyer (Startskärm, Ruttsökning, Historik och Kartkomponenter).

Apple Integritet & Behörighetsmatris

Appen följer Apples integritetskrav genom att definiera användningsändamål i Info.plist:

Info.plist behörighetsnyckel Användningsändamål Auktoriseringsnivå
NSLocationWhenInUseUsageDescription Tillåter GPS-spårning medan appen är öppen i förgrunden. Obligatorisk
NSLocationAlwaysAndWhenInUseUsageDescription Tillåter kontinuerlig ruttinspelning i bakgrunden. Bakgrundsalternativ

Källkod & GitHub-arkiv

Utforska hela källkoden för den infödda iOS-appen i Swift/SwiftUI på GitHub.

Se koden på GitHub ↗