← Înapoi la proiecte Aplicație mobilă · iOS & Swift

Aplicație mobilă de geolocalizare iOS

O aplicație iOS nativă dezvoltată în Swift și SwiftUI dedicată captării GPS de mare precizie și urmăririi traseelor în timp real.

PROIECT

Proiectul

GeolocationApp este o aplicație iOS nativă dezvoltată în Swift și SwiftUI. Aceasta permite captarea precisă a coordonatelor GPS, geocodarea inversă automată a adreselor, urmărirea traseelor în timp real cu calcularea distanței și vitezei, precum și arhivarea locală și partajarea datelor înregistrate.

Prezentare Generală a Proiectului & Arhitectură

GeolocationApp este o aplicație nativă iOS ingeneirizată în Swift și SwiftUI. Proiectat pentru performanță înaltă și o experiență de utilizator fluidă, combină precizia serviciilor CoreLocation cu puterea de cartografiere a 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
            

Urmărire GPS de înaltă Preciz ie

Captură instantă a latitudinii, longitudinii, acurateța orizontală, marcaje de timp complete și metadate hardware iOS.

Geocodare Inversă Automată

Traducere automată a coordonatelor GPS brute în adrese potale lizibile (șoață, cod poștal, oraș, țară).

Urmărire Rută în Timp Real

Inregistrare rută live cu suprapuneri MapPolyline interactive, calcul distanță totală și monitorizare viteză instantanee.

Caracterîstici de Bază & Gestionare Date

Stocare Locală Persistentă

Inregistrare sigură a istoricului bazat pe fișiere JSON stocată direct în directorul documente local al aplicației.

Partajare Date Multi-Canal

Export coordonate cu o singură apăsătură via Apple Maps, mesaje SMS pre-completate sau e-mailuri structurate.

Gestionare Istoric

Interfață de gestionare intuitivă care permite inspecția selectivă și curățarea bulk a înregistrărilor GPS înregistrate.

Arhitectură & Tehnologii

  • Limbaj & UI: Swift 5 & cadru SwiftUI declarativ
  • Servicii de Localizare: CoreLocation (ciclul de vie al permisiunilor și radioceptor GPS de înaltă frecvență)
  • Cartografiere: MapKit (hărți vectoriale și trasare rută MapPolyline live)
  • Gestionare Stare: Cadrul Combine (arhitectură reactivă folosind @Published și ObservableObject)
  • Persistență: Serializare JSON via FileManager nativ (Directorul Documente)

Structura Codului Sursă

Baza de cod urmează o arhitectură modulară asigurând o separărare curată a problemelor:

  • App/Punct de Intrare: Configurare ciclul de viață aplicației (@main).
  • Models/Modele Date: Scheme date conformând protocoalele Codable și Identifiable.
  • Services/Strat Serviciu: Controlerul localizare și managerul receptorului GPS hardware.
  • Views/Strat Vizualizare: Vizualizarea SwiftUI (Home, Live Route, History și componente UI hartă).

Matrice Confidențialitate Apple & Permisiuni

Aplicația respectă strict liniile directoare de confidențialitate Apple prin înregistrarea descrierii de utilizare obligatorii în Info.plist:

Cheie Permisiune Info.plist Descrierea Utilizare Nivel Autorizare
NSLocationWhenInUseUsageDescription Permite urmărirea GPS înd timp ce aplicația este activă în primul plan. Necesar
NSLocationAlwaysAndWhenInUseUsageDescription Permite înregistrarea continuă a călătoriei în fundal. Opțiune Fundal

Cod Sursă & Depozit GitHub

Inspectai codul sursă complet al iOS nativ Swift/SwiftUI pe GitHub.

Vizualizare Cod pe GitHub ↗