I don't know about you but my smartphone just doesn't have the battery life to make this work. I therefore use a standalone GPS device made by Holux. It's Bluetooth-capable and transmits the GPS coordinates to a Foolography Unleashed device attached to my camera. The Holux device runs the whole day on a single charge, and with this setup all my images are GPS-tagged in-camera.
You can also use the Holux device "offline" because it also records a track which can be applied to the images when downloading them from the camera (the clock on the camera needs to be more or less correct, but that's not so hard).
EDIT: I forgot to mention that the Unleashed also works OK indoors, after a fashion; if the GPS signal is lost (becasue e.g. you went indoors) it continues to serve the saved position (but an up-to-date time) for 30 minutes. I like this feature. I assume though that if you're geotagging your images from a GPS track, you get pretty much the same functionality by doing that.