← Terug naar projecten Mobiele app · iOS & Swift

iOS Geolocatie Mobiele App

Een native iOS-app ontwikkeld in Swift en SwiftUI voor uiterst nauwkeurige GPS-registratie en realtime routevolging.

PROJECT

Het project

GeolocationApp is een native iOS-applicatie ontwikkeld in Swift en SwiftUI. Hiermee kunnen nauwkeurige GPS-coördinaten worden vastgelegd, adressen automatisch omgekeerd worden geogecodeerd, realtime routes worden gevolgd met afstands- en snelheidsberekeningen en opgeslagen gegevens lokaal worden gearchiveerd en gedeeld.

Projectoverzicht & Architectuur

GeolocationApp is een native iOS-applicatie ontwikkeld in Swift en SwiftUI. Ontworpen voor optimale prestaties en een soepele gebruikservaring, combineert het de precisie van CoreLocation met de kaartfuncties van 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
            

Uiterst nauwkeurige GPS-tracking

Directe registratie van breedtegraad, lengtegraad, foutmarge, exacte tijdstempels en iOS-apparaatmetagegevens.

Automatische omgekeerde geocodering

Automatische omzetting van ruwe GPS-coördinaten naar leesbare postadressen (straat, postcode, stad, land).

Realtime routebepaling

Live registratie van de route met interactieve MapPolyline-tekening, berekening van totale afstand en actuele snelheid.

Belangrijkste functies & Gegevensbeheer

Lokale permanente opslag

Veilige logging van locatiegeschiedenis in JSON-formaat rechtstreeks in de lokale Documents-map van de app.

Multi-channel data delen

Snelle export van coördinaten via Apple Maps, vooraf ingevulde SMS-berichten of gestructureerde e-mails.

Geschiedenisbeheer

Gebruiksvriendelijke interface om opgeslagen GPS-punten te inspecteren en selectief of volledig te wissen.

Architectuur & Technologieën

  • Taal & Gebruikersinterface: Swift 5 & Declaratief SwiftUI-framework
  • Locatiediensten: CoreLocation (rechtenbeheer en hoogfrequente GPS-ontvanger)
  • Kaartweergave: MapKit (vectorkaarten en realtime MapPolyline-routeweergave)
  • State Management: Combine-framework (reactieve architectuur met @Published en ObservableObject)
  • Persistentie: JSON-serialisatie via native FileManager (Documents-map)

Broncodestructuur

De codebase volgt een modulaire architectuur met duidelijke scheiding van verantwoordelijkheden:

  • App/Startpunt: Initialisatie van de applicatielevenscyclus (@main).
  • Models/Datamodellen: Datastructuren conform de Codable- en Identifiable-protocollen.
  • Services/Servicelaag: Locatiecontroller en hardware GPS-ontvangerbeheer.
  • Views/Weergavelaag: SwiftUI-views (Home, Live route, Geschiedenis en Kaartcomponenten).

Apple Privacy & Rechtenmatrix

De app voldoet aan de privacyrichtlijnen van Apple door duidelijke gebruiksomschrijvingen in Info.plist op te nemen:

Info.plist toestemmingssleutel Gebruiksdoel Autorisatieniveau
NSLocationWhenInUseUsageDescription Staat GPS-bepaling toe terwijl de app op de voorgrond actief is. Vereist
NSLocationAlwaysAndWhenInUseUsageDescription Maakt continue routeregistratie op de achtergrond mogelijk. Achtergrondoptie

Broncode & GitHub Repository

Bekijk de volledige broncode van de native iOS-app in Swift/SwiftUI op GitHub.

Bekijk code op GitHub ↗