← Back to projects Mobile application · iOS & Swift

iOS Geolocation Mobile App

A native iOS application developed in Swift and SwiftUI for high-precision GPS tracking and real-time route monitoring.

PROJECT

The project

GeolocationApp is a native iOS application developed in Swift and SwiftUI. It enables high-accuracy GPS coordinate capture, automatic reverse geocoding of addresses, real-time route tracking with speed and distance calculations, as well as local archiving and data sharing.

Project Overview & Architecture

GeolocationApp is a native iOS application engineered in Swift and SwiftUI. Designed for high performance and a fluid user experience, it combines the precision of CoreLocation services with the mapping power of 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
            

High-Precision GPS Tracking

Instant capture of latitude, longitude, horizontal accuracy, full timestamps, and iOS hardware metadata.

Automatic Reverse Geocoding

Automatic translation of raw GPS coordinates into human-readable postal addresses (street, zip code, city, country).

Real-Time Route Tracking

Live route recording with interactive MapPolyline overlays, total distance calculation, and instantaneous speed monitoring.

Core Features & Data Management

Persistent Local Storage

Secure JSON file-based history logging directly stored inside the app's local Documents directory.

Multi-Channel Data Sharing

One-tap coordinate export via Apple Maps, pre-filled SMS messages, or structured emails.

History Management

Intuitive management interface allowing selective inspection and bulk cleanup of logged GPS records.

Architecture & Technologies

  • Language & UI: Swift 5 & SwiftUI declarative framework
  • Location Services: CoreLocation (permission lifecycle and high-frequency GPS listener)
  • Mapping: MapKit (vector maps and live MapPolyline route tracing)
  • State Management: Combine framework (reactive architecture using @Published and ObservableObject)
  • Persistence: JSON serialization via native FileManager (Documents Directory)

Source Code Structure

The codebase follows a modular architecture ensuring clean separation of concerns:

  • App/Entry Point: Application lifecycle setup (@main).
  • Models/Data Models: Data schemas conforming to Codable and Identifiable protocols.
  • Services/Service Layer: Location controller and hardware GPS receiver manager.
  • Views/Views Layer: SwiftUI views (Home, Live Route, History, and Map UI components).

Apple Privacy & Permissions Matrix

The app adheres strictly to Apple privacy guidelines by registering mandatory usage descriptions in Info.plist:

Info.plist Permission Key Usage Description Authorization Level
NSLocationWhenInUseUsageDescription Allows GPS tracking while the app is active in the foreground. Required
NSLocationAlwaysAndWhenInUseUsageDescription Enables continuous trip recording in the background. Background Option

Source Code & GitHub Repository

Inspect the full native Swift/SwiftUI iOS source code on GitHub.

View Code on GitHub ↗