So say you can mark the location on your iPhone map of a photo you took with your camera. Then what? You would still need a way for the two systems to interact. A geologging app does this semi-automatically (meaning you still need to run the photos and gpx file through HoudahGeo or Aperture). There's no way to geotag photos taken with your camera by using your iPhone other than to run a geologger app. You are using two different devices, and you need some way for the two to communicate with each other. That's what the geotagger's gpx file is for. Otherwise, you have to do it manually by dropping pins in Aperture. In fact, this is exactly what I do when I take photos and don't have my phone with me to run a geologger.
To save my phone's battery, I will often just pause and resume the geologging app, turning it on only when I am taking photos. You'll end up with a gpx file that jumps around a lot, but that's fine. It can be a bit of a pain to remember, and then to wait while the phone's gps gets a lock on the location, but it makes the battery last a lot longer. For those moments when I forget or shoot something that requires I be quick about it, then I will just manually geotag the photo(s) later.