← Takaisin projekteihin Mobiilisovellus · iOS & Swift

iOS-paikannus mobiilisovellus

Natiivi iOS-sovellus, joka on kehitetty Swiftillä ja SwiftUilla tarkkaan GPS-tallennukseen ja reaaliaikaiseen reitin seurantaan.

PROJEKTI

Projekti

GeolocationApp on Swiftillä ja SwiftUilla kehitetty natiivi iOS-sovellus. Se mahdollistaa tarkkojen GPS-koordinaattien tallennuksen, osoitteiden automaattisen käänteisen geokoodauksen, reaaliaikaisen reitin seurannan matka- ja nopeuslaskelmineen sekä tallennettujen tietojen paikallisen arkistoinnin ja jakamisen.

Projektin yleiskatsaus & Arkkitehtuuri

GeolocationApp on Swiftillä ja SwiftUI:lla kehitetty natiivi iOS-sovellus. Se on suunniteltu tarjoamaan huippusuorituskykyä ja sulavaa käyttöä yhdistäen CoreLocation-paikannuksen tarkkuuden ja MapKitin edistyneen karttavisualisoinnin.

┌─────────────────────────────────────────────────────────────────────────────┐
│                   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
            

Erittäin tarkka GPS-tallennus

Leveys- ja pituuspiirien, tarkkuustoleranssin, täydellisen aikaleiman ja iOS-laitteen metatietojen välitön haku.

Automaattinen käänteinen geokoodaus

Raakojen GPS-koordinaattien automaattinen muuntaminen selkeiksi katuosoitteiksi (katu, postinumero, kaupunki, maa).

Reaaliaikainen reitinteko

Liikkumisen reaaliaikainen tallennus interaktiivisella MapPolyline-reittiviivalla, kokonaismatkan ja hetkellisen nopeuden mittaus.

Ydinominaisuudet & Tiedonhallinta

Pysyvä paikallinen tallennus

Sijaintihistorian turvallinen arkistointi JSON-muodossa suoraan sovelluksen paikalliseen Documents-hakemistoon.

Monikanavainen vienti

Sijaintitietojen nopea jakaminen Apple Mapsin, esitäytettyjen tekstiviestien tai sähköpostin kautta.

Historian hallinta

Selkeä käyttöliittymä tallennettujen GPS-pisteiden tarkasteluun ja valikoivaan tai täydelliseen poistamiseen.

Arkkitehtuuri & Teknologiat

  • Kieli & Käyttöliittymä: Swift 5 & deklaratiivinen SwiftUI-kehys
  • Paikannuspalvelut: CoreLocation (käyttöoikeuksien hallinta ja korkeataajuuksinen GPS-vastaanotin)
  • Kartat: MapKit (vektorikartat ja reaaliaikainen MapPolyline-reitinpiirto)
  • Tilan hallinta: Combine-kehys (reaktiivinen arkkitehtuuri @Published- ja ObservableObject-malleilla)
  • Tiedon säilyvyys: JSON-sarjoitus natiivilla FileManagerilla (Documents-hakemisto)

Lähdekoodin rakenne

Projekti noudattaa modulaarista arkkitehtuuria, joka erottaa vastuualueet selkeästi:

  • App/Pääaloituspiste: Sovelluksen elinkaaren alustus (@main).
  • Models/Tietomallit: Codable- ja Identifiable-protokollien mukaiset tietorakenteet.
  • Services/Palvelukerros: Sijaintiohjain ja GPS-vastaanottimen laitteistonhallinta.
  • Views/Näkymäkerros: SwiftUI-näkymät (Koti, Live-seuranta, Historia ja Karttakomponentit).

Applen tietosuoja- & Käyttöoikeusmatriisi

Sovellus noudattaa Applen tietosuojakäytäntöjä määrittämällä käyttötarkoitukset Info.plist-tiedostossa:

Info.plist -avain Käyttötarkoitus Käyttöoikeustaso
NSLocationWhenInUseUsageDescription Sallii GPS-paikannuksen sovelluksen ollessa aktiivisena etualalla. Pakollinen
NSLocationAlwaysAndWhenInUseUsageDescription Sallii jatkuvan reitin tallennuksen myös taustalla. Taustavalinta

Lähdekoodi & GitHub-arkisto

Tutustu Swift/SwiftUI-pohjaisen natiivin iOS-sovelluksen täyteen lähdekoodiin GitHubissa.

Katso koodi GitHubissa ↗