← Torna ai progetti Applicazione mobile · iOS & Swift

App mobile di geolocalizzazione iOS

Un'applicazione iOS nativa sviluppata in Swift e SwiftUI per l'acquisizione GPS ad alta precisione e il tracciamento dei percorsi in tempo reale.

PROGETTO

Il progetto

GeolocationApp è un'applicazione iOS nativa sviluppata in Swift e SwiftUI. Consente l'acquisizione accurata delle coordinate GPS, la geocodifica inversa automatica degli indirizzi, il tracciamento dei percorsi in tempo reale con calcolo di distanza e velocità, nonché l'archiviazione locale e la condivisione dei dati registrati.

Panoramica del Progetto & Architettura

GeolocationApp è un'applicazione iOS nativa sviluppata in Swift e SwiftUI. Creata per offrire le massime prestazioni e un'esperienza utente fluida, combina la precisione dei servizi CoreLocation con la potenza cartografica di 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
            

Rilevamento GPS ad Alta Precisione

Acquisizione istantanea di latitudine, longitudine, tolleranza di errore, timestamp completo e metadati del dispositivo iOS.

Geocodifica Inversa Automatica

Conversione automatica delle coordinate GPS grezze in indirizzi postali leggibili (via, CAP, città, paese).

Tracciamento del Percorso in Tempo Reale

Registrazione live degli spostamenti con tracciamento polilineare interattivo, calcolo della distanza totale e velocità istantanea.

Funzionalità Principali & Gestione Dati

Salvataggio Locale Persistente

Archiviazione sicura dello storico delle posizioni in formato JSON all'interno della cartella Documents locale dell'app.

Condivisione Multicanale

Esportazione rapida dei dati di posizione tramite Apple Maps, SMS precompilati o e-mail strutturate.

Gestione dello Storico

Interfaccia intuitiva per visualizzare selettivamente o eliminare i punti GPS registrati.

Architettura & Tecnologie

  • Linguaggio & Interfaccia: Swift 5 & Framework dichiarativo SwiftUI
  • Servizi di Localizzazione: CoreLocation (gestione dei permessi e ricevitore GPS ad alta frequenza)
  • Cartografia: MapKit (mappe vettoriali e tracciamento percorsi MapPolyline in tempo reale)
  • Gestione dello Stato: Framework Combine (architettura reattiva con @Published e ObservableObject)
  • Persistenza: Serializzazione JSON tramite FileManager nativo (Cartella Documents)

Struttura del Codice Sorgente

Il progetto adotta un'architettura modulare che garantisce una rigorosa separazione delle responsabilità:

  • App/Punto di Ingresso: Configurazione del ciclo di vita dell'applicazione (@main).
  • Models/Modelli di Dati: Strutture di dati conformi ai protocolli Codable e Identifiable.
  • Services/Livello Servizi: Controller di geolocalizzazione e gestione del ricevitore GPS hardware.
  • Views/Livello Viste: Viste SwiftUI (Home, Tracciamento live, Storico e Componenti mappa).

Specifiche Privacy & Permessi Apple

L'applicazione rispetta gli standard di privacy di Apple definendo le descrizioni di utilizzo richieste nel file Info.plist:

Chiave di Permesso Info.plist Finalità di Utilizzo Livello di Autorizzazione
NSLocationWhenInUseUsageDescription Consente il rilevamento GPS mentre l'applicazione è attiva in primo piano. Obbligatorio
NSLocationAlwaysAndWhenInUseUsageDescription Permette la registrazione continua dei percorsi anche in background. Opzione Background

Codice Sorgente & Repository GitHub

Esplora il codice sorgente completo dell'applicazione iOS in Swift/SwiftUI su GitHub.

Guarda il Codice su GitHub ↗