I would go from high level to low.
Demo the app as soon as possible
One of the most important things is that the developer has an idea what they will work on. During the demo, point out some of the things that have been under recent development, and the direction the app is going.
Explain the high level architecture
This is also very important. Allow the new dev to listen and ask questions. Do this as a group exercise with the other devs, who will hopefully chime in and help you out. This will let the new developer know that it is OK to speak up openly and honestly.
Have a great on-boarding document ready
Having a great on-boarding document does not only help new devs, but old ones as well. It can contain expectations, useful links and environment setup information. (I cannot tell you how many times I used our on-boarding to set up my environment when I get a new computer...) This should be well structured and to the point and not linger on and not be a dumping ground for every little detail.
Encourage him/her to ask questions (and be available to answer them)
With the answers, guide them, but do not tell them what to do. Give them hints but allow them to finally figure it out themselves.
Help the other team members welcome the newcomer
There is two sides of the coin when someone joins a team. The team needs to have the tools to welcome the new developer as well.
Let them pick up a small task or two
Allow them to add something new and visible to the project that is demo-able. When it is demoed, call out who did it and what a good job they did. This can really boost self-esteem. The faster they feel like they are adding value, the faster they feel they are part of the team. The faster they will feel empowered to do the best they can.
Encourage them to getting into harder tasks once they feel more and more comfortable
Good candidates will do this naturally.