Geofency is an application that does one thing, but it does it well, reliably, and simply. It is useful for me and probably for others. In short, what it does is lets you create a geofence around any location and name it, then it tracks when you enter or leave that location and how much time you spend there.
You can view the data in the app, or you can export it (there’s a lot of customization in the export settings, including decimal hours and/or hhmmss). It lets you set locations based on map pins, addresses, a contact, an iBeacon, or even just latitude and longitude.
I have used it for years because I need to track my time on-site with clients for billing, but you could use it for anything where you want to keep track of how much time you spent in a location or how often you go there: how much time do you spend on grocery shopping? How much time do you spend at the dog park?
It also allows me to view a location for a month or an arbitrary time period and see the total time, as well as ignoring events that are under a certain threshold. For example, one office I go to is along a route I drive frequently so I have the app set to ignore anything under 5 minutes which will account for my being stuck at a traffic signal twice.
You have a preference that allows tracking other areas (“Significant Areas”) that you go to often, but have not named. For example, I have a monthly doctor’s appointment, and the location of the doctor’s office shows up in my exported data.
The only issue with the app, and I suspect it is simply an issue with the way that GPS reporting works on iOS, is that sometimes it misses an exit event, though I have only seen this for non-named locations. For example, I have an event in my exported data for a random address on the other side of town that I was at on July 1, and that even is 4009 hours long.
The app is available for iOS and macOS and is currently $5. I have been using it for years and have paid for it once.