Put your keyfile on Dropbox/OneDrive/whatever so it syncs to all your computers.
Keepass2Android works great and can read from most cloud storage solutions.
Don't know about iPhone.
Edit: It also has a lot of neat plugins. I use one for storing ssl certificates, which also supports key forwarding to putty.