Yet often that seems like the only way to the client, who thinks that they can't afford a programmer in the "planning" or "design" phase... Even though it leads to an unpredictable budget explosion in the latter stages.
One solution is to have better tools for app design. Instead of PSDs and handwaving static Invision clickthroughs, there should be a tool that allows an app prototype to be modelled using real code and native mobile concepts like navigation controllers and list views.
I've worked on such a tool, Neonto: http://neonto.com
It's not perfect (the code generation can never match a veteran programmer's style), but for prototypes often good enough - and much more powerful than clickthroughs.
Btw, Neonto is considering switching to React Native for the generated projects. If someone's interested in that, give a shout to hello@neonto.com and voice your opinion!