A more simple solution would be to keep a portable power bank (less than 30 dollars on Amzn)in your pocket and power your phone from it with a long usb cord.
If you dont mind the bulk and have a big enough pocket you can get one with a hand crank, flash light, bluetooth speaker and tuner. If space is an issue there are small ones available that can attach directly to the phone.
A power bank might be a good way to keep your phone warm too, you can pick up a peltier thermal module and usb adapter (less than 10 dollars on Amzn) and tape it to the back of your phone.
Just make sure you dont heat your phone up too much (+30C) as charging lithium cells above that temp will damage them.