SimpleGPXTracker
SimpleGPXTracker is a minimalist location tracker for the iPhone. No routing, no waypoints, no geocaching, no statistics, just a track in a GPX file.
Its intended purpose is to live quietly in the background and keep track of your location for geotagging. This is the typical “scratch your own itch” project. I am still lugging around an ancient camera without a build-in GPS, and have to geotag my photos in post. For that purpose I carry a separate Garmin GPS, which is bulky, cumbersome to charge, and has a userinterface from a previous civilization. While in my other pocked lives a brand-new iPhone, which sports a GPS system of comparable quality, discarding all its precious location data.
All my earlier attempts to build this app were frustrated by battery concerns. My old iPhone 8 would run through a full charge in about 4 to 5 hours under “challenging” GPS conditions. Other tracking apps I tested did not fare much better. When I recently replaced the 8 with a 17, I dusted off the old XCode project and was immediately confronted with a cluster of depreciation warnings. It turns out that Apple, in the meantime, had introduced a whole new system to handle location updates: liveUpdates. So, time for a complete restart. Now with SwiftUI, Swift Concurrency and liveUpdates.
On my iPhone 17e this tracker consumes between 1%-2% battery charge per hour running in the background, which is a huge reduction compared to the old version. A significant portion of this improvement is probably due to the evolution of the GPS hardware (chip), but I also get the impression that liveUpdates is smarter in optimizing its sample rate. Other tracking apps also show considerable improvement on the new hardware, but are less consistent.
The tracking is being optimized for geotagging photos. We want to avoid the “rat's nest” of segments when stationary, especially in an area with bad GPS reception. Also, the weird outliers that are prevalent in build-up areas and mountain valleys, because of reflections of the GPS signals. We therefore filter the location samples based on the distance between them and their accuracy. This is still a work in progress and requires a lot of field-testing.
The user interface has been kept as simple as possible.
The map has the same view controls as the standard Apple Maps App.
The tracking is controlled with two buttons: start: ▶️ / stop: ⏹️ and reset: 0.0.
The start button starts or continues the recording, the stop button stops the recording and saves the recorded track.
The reset button sets the track back to zero, ready for starting a new recording.
The tracks are saved to a GPX file named after the timestamp of their first location.
So stopping and re-starting (without resetting) continues the same track.
The management of the GPX-tracks is delegated to the standard Files App. The Tracker Documents Folder can be found under the Location "On my iPhone". I usually use AirDrop to copy the track files to my Mac for further processing.
Support
Despite the care taken in the development of SimpleGPXTracker, you may experience problems or crashes. If so, ensure that a crash report has been submitted and/or contact SimpleGPXTracker support.
Privacy Policy
The SimpleGPXTracker application does not collect, transfer, store or use any personal information.
If you send an email requesting support, your email address will be retained on our servers.